【问题标题】:python requests not recognizing paramspython请求不识别参数
【发布时间】:2021-12-30 04:22:32
【问题描述】:

我正在请求 mindbodyapi 使用请求库通过以下代码获取令牌

def get_staff_token(request):
    URL = "https://api.mindbodyonline.com/public/v6/usertoken/issue"
    payload = {
               'Api-Key': API_KEY,
               'SiteId': "1111111",
               'Username': 'user@xyz.com',
               'Password': 'xxxxxxxx',
               }
    r = requests.post(url=URL, params=payload)
    print(r.text)
    return HttpResponse('Done')

给出如下响应

{"Error":{"Message":"Missing API key","Code":"DeniedAccess"}}

但是如果我要求它的工作方式如下,任何人都可以告诉我,我在上面的代码中做错了什么。

conn = http.client.HTTPSConnection("api.mindbodyonline.com")
                payload = "{\r\n\t\"Username\": \"username\",\r\n\t\"Password\": \"xxxxx\"\r\n}"
                headers = {
                    'Content-Type': "application/json",
                    'Api-Key': API_KEY,
                    'SiteId': site_id,
                    }
                conn.request("POST", "/public/v6/usertoken/issue", payload, headers)
                res = conn.getresponse()
                data = res.read()
                print(data.decode("utf-8"))

【问题讨论】:

    标签: python django python-requests mindbody


    【解决方案1】:

    在第二个中,您在标头中传递 API 密钥,并在请求正文中传递凭据。首先,您将 API 密钥和凭据一起发送到查询字符串中,而不是请求正文中。参考requests.request() docs

    只需使用第二个代码中的两个字典和正确的关键字,我认为它应该可以工作:

    def get_staff_token(request):
        URL = "https://api.mindbodyonline.com/public/v6/usertoken/issue"
        payload = {
            'Username': 'user@xyz.com',
            'Password': 'xxxxxxxx',
        }
        headers = {
            'Content-Type': "application/json",
            'Api-Key': API_KEY,
            'SiteId': "1111111",
        }
        r = requests.post(url=URL, data=payload, headers=headers)
        print(r.text)
        return HttpResponse('Done')
    

    【讨论】:

      猜你喜欢
      • 2019-01-22
      • 1970-01-01
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-19
      • 1970-01-01
      • 2021-08-30
      相关资源
      最近更新 更多