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,看不到权限列表 ...
随机推荐
- HttpURLConnection读取http信息
废话不多说,直接上code. package mytest; import java.io.BufferedReader; import java.io.IOException; import jav ...
- final关键字所修饰的类有什么特点
Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量. final类不能被继承,没有子类,final类中的方法默认是final的. final方法 ...
- 用list去初始化numpy的array数组 numpy的array和python中自带的list之间相互转化
http://blog.csdn.net/baiyu9821179/article/details/53365476 a=([3.234,34,3.777,6.33]) a为python的list类型 ...
- Windows下使用ffmpeg与java实现截取视频缩略图
[ffmpeg.exe可执行文件获取]: 网上搜索后得到编译好的ffmpeg文件,下载地址:http://download.csdn.net/source/453719 [安装]: 将下载的文件解压, ...
- Hibernate5.x版本HQL限定查询 Legacy-style query parameters (`?`) are no longer supported
在此版本的限定查询和4.0版本的限定查询: 如果查询语句是: String hql = "select u from User u where u.gender = ?"; 会出现 ...
- mysql数据库优化 几个思路
建表: 合理的索引, 组合索引 合理的字段类型 合理的表结构和表关联关系 查询: 避免: *, 函数 , 计算 , like左右全匹配 , in , beteewn?? 索引和组合索引 子查询 ...
- 收集的WEB前端程序员需要的网站整理
前端学习资源实在是又多又广,在这样的一个知识的海洋里,我们像一块海绵一样吸收,想要快速提高效率,平时的总结不可缺少,以下总结了一些,排版自我感觉良好,推送出来. 一.插件类网站 jQuery插件库:h ...
- js实现返回上一页功能
大家在做 "返回上一页" 这个功能的时候 都是用history.go(-1);来实现的 但这段代码只是简单的使用浏览器的后退功能 从浏览器缓存中取出页面来显示 但我们绝大部分情况都 ...
- 关于inet_ntop、inet_pton中的n和p分别代表的意义
函数名中的p和n非别代表表达(presentation)和数值(numeric).地址的表达格式通常是ASCII字符串,数值格式则是存放到套接字地址结构中的二进制值. 参考自:https://blog ...
- 哈理工(HUST)第八届程序设计竞赛--小乐乐的组合数
这道题目是一道数学题,我们可以假设n为7,m为14. 这样的话我们就可以很清晰地看到7和7可以拼接在一起,这是一对,然后是7和14拼接在一起,第二对. 我们可以直接让n/7,m/7,这样就是1*2,就 ...