python之-微信开发学习
微信公众平台技术文档
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432
# 注意,最好以python3 运行,中文字符集就不用转码了。
使用的模块
import requests
import json
#Appid = 'wxa8XXXXXXXXX'
#Secret = 'fba077XXXXXXXXX'
以上:Appid,Secret是你开通微信公众号内部开发-基本配置里提取的值。
# 获取access_token,这个是登录微信的先期条件
url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s' % (Appid,Secret)
# get请求访问
r = requests.get(url)
# 由于返回的是json格式,使用.text打印内容后loads为字典格式
d = json.loads(r.text)
# 这样就可以打印出access_token串
print(d['access_token'])
打印所有关注者的openID以及详细信息
#公众号内每个关注人都会有一个唯一的身份标识:openID,以下URL可以获取当前公众号的所有关注者的openID
#user_url = 'https://api.weixin.qq.com/cgi-bin/user/get?access_token=%s' % (d['access_token'])
s = requests.post(user_url)
s1 = json.loads(s.text)
这里就会以字典嵌套字典的形式打印此公众号内所有人的openID,
通过以下方法来获取每个关注者的详细信息
#for line in s1['data']['openid']:
# 以下是获取方法
# mess = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token=%s&openid=%s&lang=zh_CN' % (d['access_token'],line)
# m = requests.get(mess)
# m1 = json.loads(m.text)
# print(m1)
消息群发和单独发送代码:
#群发消息的url
#user_url = 'https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=%s' % (d['access_token'])
#单独发消息url
user_url = 'https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=%s' % (d['access_token']) # 群发消息的值如下:
#value = {
# "filter":{
# "is_to_all":False, # True表示群发,False不群发
# "tag_id":0 # 如群发,这里可以不写,否则,这个标识群发的组ID
# },
# "text":{
# "content":"TEST" # 群发内容
# },
# "msgtype":"text" # 群发文本
#} # 单独发消息的值如下:
value = {
"touser":[
"oYnK8vnSHJoKIzjO3ChsCqqO9ym8", # 关注者的openID,至少2个
"oYnK8vgpMLt3VxKFlfcJxsNcWL0A"
],
"msgtype": "text",
"text": { "content": "WX mess api dev."}
} #以下是统一写法
# URL只能以字符串形式提交,所以这里要转换为字符串
v = json.dumps(value)
# 发起post请求,提交值
s = requests.post(user_url,v)
# 获取发送后的结果返回,如果为0表示成功
s1 = json.loads(s.text)
print(s1)
python之-微信开发学习的更多相关文章
- python全栈开发学习_内容目录及链接
python全栈开发学习_day1_计算机五大组成部分及操作系统 python全栈开发学习_day2_语言种类及变量 python全栈开发_day3_数据类型,输入输出及运算符 python全栈开发_ ...
- python全栈开发学习_day2_语言种类及变量
一.编程语言的分类及python相对其他语言的优势 1)三大语言种类及细分 1.机器语言(低级语言):直接用计算能够理解的二进制进行编写,直接控制计算机硬件. 优点:执行效率高. 缺点:开发效率低,跨 ...
- 微信开发学习日记(七):开源微商城wemall
最近嘛,不是在调研PHP和微信的行情么. 发现,微商城是非常火爆的一个领域,既然业务有搞头,那么技术这一块也有很多选择. 网上发现了wemall这个开源的PHP实现的微商城. 下载了开源版本,PHP后 ...
- 微信开发学习日记(六):weiphp框架
最近重点在看weiphp这个开源的第三方微信公众平台框架. 在网上找微信资料,找到了这个.很早之前,就初步学习了Thinkphp和Onethink2个开源框架,当看到weiphp是用这2个框架开发的时 ...
- python全栈开发学习_day1_计算机五大组成部分及操作系统
一.计算机五大组成部分: 1)五大组成: 1.控制器(指挥系统,用于控制其他计算机硬件的工作) 2.运算器(用于数学运算及逻辑运算) 3.存储器(寄存器,高速缓存,内存,磁盘(机械,固态),磁带) 4 ...
- html5+css3 微信开发-学习实例
例子1.控制数据只显示两行并且最后使用省略号 样式如下: .ControlDataRows{ overflow : hidden; text-overflow: ellipsis; display: ...
- 微信开发学习日记(八):7步看懂weiphp插件机制,核心目标是响应微信请求
又经过了几个小时的梳理.回顾,截至目前,终于对weiphp这个框架的机制搞明白了些.想要完全明白,自然还需要大把的时间.第1步: 配置微信公众号,http://weiphp.jiutianniao ...
- python itchat 微信开发
使用itchat可以简单操作微信,进行好友和群消息的发送 安装: pip install itchat 使用: import itchat, time # 登录 itchat.auto_login(h ...
- 微信开发学习日记(五):weiphp开源框架的bug,公众号权限编辑问题
最近在研究weiphp,总体感觉还行,bug据说还挺多. 这不,我就遇到一个比较严重影响使用的.感觉不太应该出现这么严重的bug啊. weiphp的微信公众号等级,权限增加和编辑bug,看不到权限列表 ...
随机推荐
- Android利用融云做异地登录提醒
在RongCloudEvent下找到onChanged方法 @Override public void onChanged(ConnectionStatus connectionStatus) { s ...
- spark性能调优--jvm调优(转)
一.问题切入 调用spark 程序的时候,在获取数据库连接的时候总是报 内存溢出 错误 (在ideal上运行的时候设置jvm参数 -Xms512m -Xmx1024m -XX:PermSize=51 ...
- centos启用socks5服务
直接在终端用 root 安装 *** 官方客户端 apt-get install python-pip -ypip install shadowsocks 然后编辑 /etc/shadowsocks. ...
- Proteus与Keil连接及其仿真(有例子哦!)
记录一下Proteus仿真的一些设置和使用,以方便自己以后复习和大家交流!如有错误,希望大家指正. 1.Proteus软件的安装,这里就不作说明了.
- PHP实时输出内容到浏览器
buffer buffer是一个内存地址空间,Linux系统默认大小一般为4096(4kb),即一个内存页.主要用于存储速度不同步的设备或者优先级不同的设备之间传办理数据的区域.通过buffer,可以 ...
- Android主题更换换肤
知识总览android主题换肤通常借助LayoutInflater#setFactory实现换肤. 换肤步骤: 通过解析外部的apk压缩文件,创建自定义的Resource对象去访问apk压缩文件的资源 ...
- 事件冒泡 & 阻止事件冒泡
事件冒泡 : 当一个元素接收到事件的时候,会把他接收到的所有传播给他的父级,一直到顶层window.事件冒泡机制 阻止冒泡 : 当前要阻止冒泡的事件函数中调用 event.cancelBubble = ...
- Js 之获取QueryString的几种方法
一.正则匹配 function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(& ...
- VIO第二讲_allen方差工具
1,首先,安装ceres依赖项,见高博14讲116页,然后下载编译安装ceres: git clone https://github.com/ceres-solver/ceres-solver cd ...
- CodeForces - 1105D Kilani and the Game(多源BFS+暴力)
题目: 给出一张游戏地图和每个玩家的位置,每次能移动的步数.p个玩家轮流移动占领地图中的格子(当格子已经被占领时就不能在占领了)在每个玩家都不能移动时游戏结束. 问在游戏结束后,每个玩家占领的格子的数 ...