企业微信发送应用消息操作步骤

1、企业微信注册

注册地址:https://work.weixin.qq.com/wework_admin/register_wx?from=loginpage

1)按照提示信息填写即可,如果只是为了发应用消息,是可以不用认证的,所以,填写内容自己随意。

2)使用自己的微信,扫描注册页面中的二维码,则此微信就是该注册企业微信的管理员。

2、企业微信登录

登录地址:https://work.weixin.qq.com/wework_admin/loginpage_wx?from=myhome

使用管理员微信扫描二维码即可登录。

如果是刚注册的企业微信,则注册成功即为登录状态。

3、获取企业ID (corpid)

登录成功后,切换到“我的企业”,拉到最下面,找到企业ID,后面需要这个企业ID。

4、创建一个内置应用

登录成功后,切换到“应用管理”,找到“自建”,然后点击“创建应用”。

选择logo,填写应用名称和简介,选择成员,点击“创建应用”。

此处只能选择已经申请加入到企业的成员,后面可以邀请加入企业。

5、获取创建应用的agentid和corpsecret

点击第4步中创建的应用,就可以看到agentid和secret。

6、获取应用的access_token

API地址:https://work.weixin.qq.com/api/doc/90000/90135/91039

调试工具地址:https://open.work.weixin.qq.com/wwopen/devtool/interface/combine

此API需要前面获取的corpid和corpsecret,具体参数说明请仔细阅读API说明。

示例:

GET /cgi-bin/gettoken?corpid={corpid}&corpsecret={corpsecret} HTTP/1.1

Host: qyapi.weixin.qq.com

返回格式:

{

    "errcode": 0,

    "errmsg": "ok",

    "access_token": "-K4EDa_wggrb5Y_DoVP1R11y6MTDhU9TVuZaGYApkvKTL3iVGkaXI9fhhttchN0qyt3VUdofjx96g9bZtuVTUuvarkU6remzlTLRfviCN5uzXHMWDUCOokwmo-114athhYKWSyRPc6owLpjXee0gWR8_fz1x0VbcPSEIGtxXkE6lRs0Y5eeTNNreDdLtYzxA-7TH6L3nvW9X-679S7Miug",

    "expires_in": 7200

}

注意:token的有效期是7200秒,在有效期内,重复获取,返回的 token不变。

7、给应用发消息

API地址:https://work.weixin.qq.com/api/doc/90000/90135/90236

此API参数较多,请仔细阅读API说明。

说明一点:touser如果设置“@all”,则会发消息给加入企业的所有成员,如果设置成员ID,则消息只会发给这一个成员,其他成员收不到。

以textcard示例:

POST /cgi-bin/message/send?access_token=-K4EDa_wggrb5Y_DoVP1R11y6MTDhU9TVuZaGYApkvKTL3iVGkaXI9fhhttchN0qyt3VUdofjx96g9bZtuVTUuvarkU6remzlTLRfviCN5uzXHMWDUCOokwmo-114athhYKWSyRPc6owLpjXee0gWR8_fz1x0VbcPSEIGtxXkE6lRs0Y5eeTNNreDdLtYzxA-7TH6L3nvW9X-679S7Miug HTTP/1.1

Host: qyapi.weixin.qq.com

Content-Type: application/json

{

  "touser": "@all",

  "toparty": "PartyID1|PartyID2",

  "totag": "TagID1 | TagID2",

  "msgtype": "textcard",

  "agentid": 1000003,

  "textcard" : {"title" : "领奖通知","description" : "\n<div class=\"gray\">恭喜您中奖Apple手机一台,请一分钟内速来前台领奖,过期作废!!!</div>","url" : "www.baidu.com","btntxt":"更多"

  },

  "safe": 0,

  "enable_id_trans": 0,

  "enable_duplicate_check": 0

}

返回:

{

    "errcode": 0,

    "errmsg": "ok",

    "invaliduser": ""

}

此时,如果安装了企业微信APP,则就可以收到小程序发送的消息了。

8、微信关注企业微信插件,直接接收消息,不用安装企业微信。

登录成功后,切换到“我的企业”,点击左侧导航栏的“微信插件”。

使用微信扫描最下面的邀请关注二维码,则关注此企业,然后可以通过企业小程序接收消息。

(对于企业员工,需要先加入企业微信,再关注微信插件)

像上面示例发送的消息,小程序收到的消息展示:

9、python代码示例

import requests

from django.core.cache import cache

wxurl='https://qyapi.weixin.qq.com'

# 获取微信小程序access_token

def getWxToken():

   try:

      res = requests.get(f"{wxurl}/cgi-bin/gettoken?corpid={corpid}&corpsecret={corpsecret}", timeout=10).json()

   except requests.exceptions.RequestException as e:

      print(e)

      return ""

   if res['errcode'] == 0:

      access_token=res['access_token']

      print(f"access_token={access_token}")

      # redis设置access_token

      cache.set('wx_access_token', access_token, 7200)

      return access_token

   else:

      return ""


# 发送微信应用消息

def sendWxMsg(title,desc):

   # 从redis获取token

   access_token = cache.get('wx_access_token')

   sendbody={

      "touser": touser,

      "toparty": toparty,

      "totag": totag,

      "msgtype": "textcard",

      "agentid": agentid,

      "textcard" : {"title" : title,"description" : f"\n<div class=\"gray\">{desc}</div>","url" : "www.baidu.com","btntxt":"更多"

         },

      "safe": 0,

      "enable_id_trans": 0,

      "enable_duplicate_check": 0

   }

   try:

      res = requests.post(f"{wxurl}/cgi-bin/message/send?access_token={access_token}", json=sendbody,timeout=10)

      print(f"发送结果:{res.json()}")

   except requests.exceptions.RequestException as e:

      print(e)

      return "发送异常!"

   if res.json()['errcode'] != 0:

      print('access_token可能失效或错误,重新获取')

      access_token = getWxToken()

      res = requests.post(f"{wxurl}/cgi-bin/message/send?access_token={access_token}", json=sendbody,timeout=10)

      print(f"发送结果:{res.json()}")

   return res.text

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,417评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,921评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,850评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,945评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,069评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,188评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,239评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,994评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,409评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,735评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,898评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,578评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,205评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,916评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,156评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,722评论 2 363
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,781评论 2 351

推荐阅读更多精彩内容