本文介绍的微信发送程序不是独立的模块,是某企业应用的一部分, 源码可在京津冀odoo技术交流群的群共享中下载。
 
【1】基本配置

在work.weixin.qq.com上注册一个企业后,会得到企业的ID(corpid )

创建一个应用后, 会得到这个应用的ID (agent id), 第一个应用的angentid是1000002
同时,这个应用还有一个非常机密的信息,叫corpsecret
 
因此在系统的配置界面中, 需要输入这三项信息
 

【2】Access Token
为避免corpsecret的泄漏, 我们在发送信息时不直接使用corpsecret,而是先用corpsecret获得一次Access Token。 然后使用Access Token进行操作, 到Access Token过期时 再重新获取用corpsecret获得一次Access Token。  这样网上传送corpsecret的频次减少了, 安全性也就提高了。
 
本程序自动获取Access Token, 获取的结果, 获取时间,有效期 等信息都可以在配置界面看到,便于故障诊断。
程序还配有“重新获取token”按钮, 手工执行获取token的操作
 

【3】发送微信
发送微信前, 需要将接受微信的人员加入到企业微信中, 人员加入后, 会在本企业中得到账号,
这个账号一般是姓名的全拼, 与个人微信的微信号是不同的。
 
当人员较少时,可将微信号手工录入在传真号 或工作电话的位置上。
 
本程序中发送微信的函数是
@api.multi
    def send_message(self,users, message):
其中users 是符合微信API格式的账号字串, 当发送给多个人员时, 用竖线|隔开
 
配置界面上有发送测试按钮,可用于发送测试

【转】odoo 10的企业微信发送程序介绍的更多相关文章

  1. .netcore--Controller后台实现企业微信发送消息

    一.获得企业微信管理端权限,登录企业企业微信管理端界面,并创建应用,如下图中的[网站消息推送] 二.参见企业微信API文献,根据corpid=ID&corpsecret=SECRET(其中企业 ...

  2. python实现通过企业微信发送消息

    实现了通过企业微信发送消息,平时用于运维的告警还是不错的,相对于邮件来说,实时性更高,不过就是企业微信比较麻烦,此处不做过多解释. 企业微信api的详细请看:http://work.weixin.qq ...

  3. zabbix使用企业微信发送告警信息

    用qq邮箱发送告警信息一点都不方便,看到网上说也可以使用微信发送告警信息,所以就试了一下. 首先先试着在虚拟主机上给微信发送信息. 我们需要注册企业微信,注册时有一个地方需要注意,就是注册时选择组织, ...

  4. 微信小程序详细图文教程-10分钟完成微信小程序开发部署发布

    很多朋友都认为微信小程序申请.部署.发布很难,需要很长时间. 实际上,微信和腾讯云同是腾讯产品,已经提供了10分钟(根据准备资源情况,已完成小程序申请认证)完成小程序开发.部署.发布的方式.当然,实现 ...

  5. 【猿分享第10期】微信小程序Meetup扫盲专场回顾(转载)

    首先感谢答疑师:子慕 前端工程师,目前就职于医联,偶尔写点博客,吐槽总结,偶尔吟“湿”作对,润滑万物,江湖人称子慕大诗人. 直播间语音回放收听,请微信扫描下图二维码授权进入即可. 以下为本次直播的全部 ...

  6. python 企业微信发送文件

    import os import json import urllib3 class WinxinApi(object): def __init__(self,corpid,secret,chatid ...

  7. 企业微信小程序--从零开始(带你见证从头开始的企业小程序之开发运营)

    1.注册微信小程序账户(自己摸索吧很简单的) 2.微信小程序认证 3.遇到的问题 1)

  8. 微信小程序介绍

    1.什么是微信小程序 是一种不需要下载即可使用的应用,实现了“触手可及的梦想”,用户扫一扫或者搜一下即可打开. 免安装 操作更接近原始的APP 必须在微信中使用 2.宣传方式 小程序搜索入口 附近的小 ...

  9. 小程序01 微信小程序介绍和开发准备

    前言 火爆的微信小程序:跳一跳.摩拜单车.美柚.大众点评.滴滴出行 背景 为什么会有小程序? 微信最早推出公众号和服务号,公众号和服务号所传播的网页经常出现加载缓慢甚至页面空白的情况. 微信小程序的诞 ...

随机推荐

  1. 使用combineReducers注意事项

    一.从‘redux’包中引入combineReducers方法: import { combineReducers } from 'redux'; 二.针对state的不同属性写不同的reducer, ...

  2. 4.30-5.1cf补题

    //yy:拒绝转载!!! 悄悄告诉你,做题累了,去打两把斗地主就能恢复了喔~~~ //yy:可是我不会斗地主吖("'▽'") ~~~那就听两遍小苹果嘛~~~ 五一假期除了花时间建模 ...

  3. SpringMVC 如何定义类型转换器

    举例说明, 将一个字符串转换成的 User 类型. 例如将字符串 1-zcd-1234-zcd@163.com-1999/12/12  转换成User 类型. 一.实体类 public class U ...

  4. swift的clourse:字面量化的函数、将函数字面量化-与函数的类型签名相同

    1.clourse的签名与函数的签名相同: 所以两者可以相互赋值: 2.可以将函数(表达式)字面量化: 因为可以字面量化,所以和其它的值(变量)没有任何区别,可以存在变量存在的任何地方: 3.clou ...

  5. UVa 1262 - Password(解码)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  6. java的foreach,后台弹框

    for (String string : list) { if(string.equals(ids)){ int res = JOptionPane.showConfirmDialog(null, & ...

  7. ios Block详细用法

    ios Block详细用法 ios4.0系统已开始支持block,在编程过程中,blocks被Obj-C看成是对象,它封装了一段代码,这段代码可以在任何时候执行.Blocks可以作为函数参数或者函数的 ...

  8. 将Tomcat设置为windows自动启动的服务

    一般情况下Tomcat服务需要手动运行批命令启动服务.在windows操作系统下如果需要将Tomcat变成自动启动的服务,只需按以下步骤操作即可: 方法/步骤 将Tomcat设置成服务(假设我们缺省的 ...

  9. 架构风格:你真的懂REST吗?

    本文探讨如下几个问题: 什么是REST REST包含哪些约束 什么是RESTful 纯RESTful API的难点在哪里 如果你去搜索「什么是REST」的话,大部分情况下,你看到的基本都是RESTfu ...

  10. Oracle 体系结构二 内存结构

    Oracle实例由共享内存块(SGA)以及大量的后台进程构成. SGA必须包含的数据结构: 数据库缓冲区缓存 日志缓冲区 共享池 可选的数据结构: 大池 JAVA池 流池 其他缓冲区缓存池 用户会话还 ...