【发布时间】:2020-11-22 15:50:35
【问题描述】:
我正在编写一个 python 脚本来执行 OAuth client_credentials 类型授权,并且获取的不记名令牌需要在下一个 URL 请求中作为“Authorization”标头参数传递。
我能够执行获取不记名令牌作为响应我得到一个字符串令牌。现在我需要在下一个请求头中传递这个字符串。下面是代码sn-p
def getOAuthToken():
ClientAuth = requests.auth.HTTPBasicAuth(ClientId, ClientSecret)
PostData = {"grant_type": "client_credentials"}
TokenResponse = requests.post(TokenUrl, auth=ClientAuth, data=PostData)
if(TokenResponse.ok):
print("Token Json response is success")
print(TokenResponse.content)
else:
print("Error in json response")
TokenJson = TokenResponse.json()
AccessToken = "Bearer "+TokenJson["access_token"]
print("AccessToken =",AccessToken)
def GetOAuthJsonResponse(Url, Headers):
JsonResponse = requests.get(Url, headers=Headers)
print(JsonResponse.status_code)
if(JsonResponse.ok):
print("Token Json response is success")
else:
print("Error in json response")
#AccessToken is the Bearer token received from authorization server
#Sample AccessToken will be like "Bearer 123475755959"
Headers = {'Authorization': AccessToken}
GetOAuthJsonResponse(OAuthBaseUrl, Headers)
这样做会得到 401 作为 status_code。 401 表示未经授权的访问。这似乎在将访问令牌添加到标头时做错了。 任何人都可以帮助我吗?
【问题讨论】:
-
确保您的 AccessToken 如评论所述,格式为“Bearer ”
-
已验证 AccessToken 的类型为 Bearer
。在我的问题陈述中添加了一个函数定义