微信公众号关注/取消关注事件推送开发记录
微信公众号关注/取消关注事件推送开发记录
一、前言
在微信公众平台中,用户可以通过扫描二维码或搜索关键字来关注一个公众号。同时,也可以在公众号的菜单中点击“取消关注”按钮来解除对公众号的关注关系。在这种情况下,公众号会收到一个事件推送,提示用户已经取消了对公众号的关注。
二、事件类型
微信公众平台提供了以下几种事件类型:
* subscribe:用户关注公众号时触发* unsubscribe:用户取消关注公众号时触发三、事件推送内容
当用户关注或取消关注一个公众号时,微信公众平台会向公众号发送一个事件推送。事件推送的内容包括:
* EventKey:事件类型(subscribe或unsubscribe)
* FromUserName:发送事件的用户名称* ToUserName:接收事件的公众号名称* MsgType:事件类型(text或event)
四、事件推送示例
以下是微信公众平台向公众号发送的事件推送示例:
```
{
"EventKey": "subscribe",
"FromUserName": "用户昵称",
"ToUserName": "公众号名称",
"MsgType": "event"
}
```
或```
{
"EventKey": "unsubscribe",
"FromUserName": "用户昵称",
"ToUserName": "公众号名称",
"MsgType": "event"
}
```
五、事件推送开发
在微信公众平台中,开发者可以通过接收事件推送来实现各种功能,如:
* 欢迎消息:当用户关注公众号时,发送一个欢迎消息* 取消关注提示:当用户取消关注公众号时,发送一个取消关注提示以下是示例代码:
```pythonimport requests 公众号的API密钥app_id = "你的APPID"
app_secret = "你的APPSECRET"
接收事件推送的函数def receive_event(event):
if event["EventKey"] == "subscribe":
发送欢迎消息 send_message("感谢您关注我们的公众号!")
elif event["EventKey"] == "unsubscribe":
发送取消关注提示 send_message("感谢您曾经关注过我们的公众号!")
发送消息的函数def send_message(content):
url = f" headers = {"Content-Type": "application/json"}
data = {
"touser": event["FromUserName"],
"msgtype": "text",
"text": content }
response = requests.post(url, headers=headers, json=data)
if response.status_code ==200:
print("消息发送成功!")
else:
print("消息发送失败!")
获取access_token的函数def get_access_token():
url = f" response = requests.get(url)
if response.status_code ==200:
return response.json()["access_token"]
else:
print("获取access_token失败!")
```
六、总结
在微信公众平台中,开发者可以通过接收事件推送来实现各种功能,如欢迎消息和取消关注提示。通过使用示例代码,可以轻松地实现这些功能。