微信小程序API调用的坑

最近接到一个需求, 需要通过调用微信小程序的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=https://www.it610.com/article/json.dumps(payload), headers={'content-type': 'application/json'}) print(resp.text)

【微信小程序API调用的坑】输出成功!
  1. 总的来说就是access_token要在url中 ?access_token=%s, 否则会报access_token missing
  2. 使用json.dumps以及headers

    推荐阅读