最近接到一个需求, 需要通过调用微信小程序的API 例如 https://developers.weixin.qq.com/miniprogram/dev/api/analysis.html#%E6%A6%82%E5%86%B5 这里的一些接口, 获取数据并保存到数据仓库.
看微信的API文档, 很快拿到access_token. 在请求这个API的时候,
https://api.weixin.qq.com/datacube/getweanalysisappiddailysummarytrend?access_token=ACCESS_TOKEN
由于不知道payload需要经过json encoded以及access_token就是通过params的形式进行调用的. 一直报错
{"errcode":41001,"errmsg":"access_token missing hint: [YEj6ca08571487]"}
报错提示还看不懂啥意思. 经过一轮各种的尝试, 原来我需要告知headers使用json, 并且传入data的时候要进行json.dumps
具体参照如下python代码:
import requests
access_token = "blablabla"
summary_trend_api= "https://api.weixin.qq.com/datacube/getweanalysisappiddailysummarytrend?access_token=%s"
payload = {
"begin_date": "20180601",
"end_date": "20180601"
}
resp = requests.post(summary_trend_api % access_token, data=json.dumps(payload), headers={'content-type': 'application/json'})
print(resp.text)
输出成功!
- 总的来说就是access_token要在url中
?access_token=%s
, 否则会报access_token missing
- 使用json.dumps以及headers
网友评论