微信小程序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=json.dumps(payload), headers={'content-type': 'application/json'})
print(resp.text)

输出成功!

  1. 总的来说就是access_token要在url中 ?access_token=%s, 否则会报access_token missing
  2. 使用json.dumps以及headers

你可能感兴趣的:(微信小程序API调用的坑)