收藏
回答

shortlink 我到底哪里出了问题?

开发文档: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/short-link/shortlink.generate.html#HTTPS-%E8%B0%83%E7%94%A8

后端Django请求接口代码

# 接口调用凭证
token_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + appid + '&secret=' + app_secret
token_request = requests.get(token_url)
token = json.loads(token_request.text)
print('access_token:', token['access_token'])
# 获取 Short Link
short_url = 'https://api.weixin.qq.com/wxa/genwxashortlink?access_token=' + token['access_token']
short_data = {
    'page_url': '/pages/index/index',
    'page_title': 'index',
}
print('请求url:', short_url)
print('参数:', short_data)
short_request = requests.post(short_url, short_data)
short_json = short_request.text
print('结果:', short_json)


输出结果

access_token: 52_j97dX8U0RLrHCk9i......
请求url: https://api.weixin.qq.com/wxa/genwxashortlink?access_token=52_j97dX8U0RLrHCk9i......
参数: {'page_url': '/pages/index/index', 'page_title': 'index'}
结果: {"errcode":47001,"errmsg":"data format error rid: 61cabef5-23807713-1c4a1ebd"}


试了好多次都是这个错

access_token 写在 short_data 里面也是同样的错误

文档也没找到说明的地方 是我请求哪里出错了吗?求大佬们指点

回答关注问题邀请回答
收藏

2 个回答

  • Mr.Zhao
    Mr.Zhao
    2021-12-28
    requests.post(url, json=short_data)  47001 json格式化错误
    
    2021-12-28
    有用 2
    回复 4
    • 天明™
      天明™
      2021-12-28
      2021-12-28
      回复
    • 天明™
      天明™
      2021-12-28
      无效的url,已发布小程序没有对应url 这是啥url
      2021-12-28
      回复
    • Mr.Zhao
      Mr.Zhao
      2021-12-28回复天明™
      必须是已经发布的小程序存在的页面
      2021-12-28
      1
      回复
    • 天明™
      天明™
      2021-12-28
      感谢大佬,搞定了!
      2021-12-28
      回复
  • 无鱼
    无鱼
    2021-12-28

    指定为json格式试试

    headers = {'Content-Type': 'application/json'}

    short_request = requests.post(url=short_url, data=short_data, headers=headers)

    2021-12-28
    有用 1
    回复 1
    • 天明™
      天明™
      2021-12-28
      感谢, 把data=short_data  改成json=short_data就好了,
      2021-12-28
      1
      回复
登录 后发表内容