簡體   English   中英

將Python模塊請求與Sitescout API一起使用時的響應狀態代碼400

[英]Response status code 400 when using python module Requests with Sitescout API

我有一個客戶端ID和客戶端密鑰,並且正在嘗試通過遵循Sitescout的api docs來生成身份驗證令牌。 我正在使用python模塊的Requests,並且返回了400個狀態代碼,也就是格式錯誤的請求,但我似乎無法弄清楚為什么。

我的代碼:

import requests

url = "https://api.sitescout.com/oauth/token"
headers = { 
            "Host": "api.sitescout.com",
            "Authorization": "Basic YmVldGhvdmVuOmxldG1laW4=",
            "Content-Type": "application/x-www-form-urlencoded",
            "Accept": "application/json",
            "Content-Length": "41"
        }

# Do the HTTP request
response = requests.post(url, headers=headers)

response.status_code

那是文檔中提供的偽造的base64 Authorization標頭,因此此代碼段返回401錯誤(也稱為未授權)(我當然有我自己的身份驗證)。

誰能告訴我這是怎么了?

已解決。 我沒有放置grant_type=client_credentials ,添加后返回200。

文檔說:“(可選),您可以添加表單參數范圍以指示您請求訪問的范圍;范圍值必須以空格分隔(例如,STATS AUDIENCES)。” 但是,“&scope = STATS”參數是可選參數,而不是所有參數。 這個例子使我感到困惑。

現在我的代碼讀取

...

params = {  "grant_type" : "client_credentials" }

response = requests.post(url, headers=headers, params=params)

...

哪個有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM