我正在嘗試爲緩衝區(社交媒體調度應用程序)授權API。我在這裏的操作說明https://buffer.com/developers/api/oauth使用Python進行緩衝區API認證
授權的第一步,使用類型的請求,將用戶重定向到授權頁面:
GET https://bufferapp.com/oauth2/authorize?
client_id=...&
redirect_uri=...&
response_type=code
一旦授權頁面重定向到與該REDIRECT_URI授權碼作爲查詢參數:
http://example.com/back?code=1/mWot20jTwojsd00jFlaaR45
即代碼隨後在POST請求被用來獲得一個訪問令牌:
POST https://api.bufferapp.com/1/oauth2/token.json
POST Data
client_id=...&
client_secret=...&
redirect_uri=...&
code=...&
grant_type=authorization_code
但是,授權碼的有效期爲30秒。
當我這樣做的授權手動,然後用我收到像這樣的AUTH_CODE POST請求:
my_data = {
'client_id': my_client_id,
'client_secret': my_client_secret,
'redirect_uri': my_redirect_uri,
'code': auth_code,
'grant_type': 'authorization_code',
}
token = requests.post('https://api.bufferapp.com/1/oauth2/token.json', data=my_data)
我得到一個「無效批」的錯誤。
我查了一下與其他API有關的錯誤(緩衝區API似乎沒有被使用太多),其中一個原因可能是過期的auth_code。鑑於保質期短,這並不令人意外。
什麼是自動化授權位以避免auth_code過期的好方法?
還是別的我在這裏做錯了嗎?
提前感謝您的幫助
非常感謝,我會試試這個 – Panos