如何使用python请求模块创建自定义标头

如何使用python请求模块创建自定义标头,python,oauth-2.0,Python,Oauth 2.0,我正在编写一个python脚本来执行OAuth client_凭证类型的授权,并且需要在下一个URL请求中将获取的承载令牌作为“authorization”头参数传递 当我得到一个字符串令牌时,我能够执行获取承载令牌作为响应。现在我需要在下一个请求头中传递这个字符串。下面是代码片段 def getOAuthToken(): ClientAuth = requests.auth.HTTPBasicAuth(ClientId, ClientSecret) PostData = {&q

我正在编写一个python脚本来执行OAuth client_凭证类型的授权,并且需要在下一个URL请求中将获取的承载令牌作为“authorization”头参数传递

当我得到一个字符串令牌时,我能够执行获取承载令牌作为响应。现在我需要在下一个请求头中传递这个字符串。下面是代码片段

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作为状态码。401表示未经授权的访问。这似乎是我在向头添加访问令牌时出错了。
任何人都可以在这方面帮助我。

授权头需要类似于
承载人的结果。试试这句话:

Headers={'Authorization':f“Bearer{AccessToken}}


这将以正确的格式格式化标头。

授权标头需要类似于
承载的结果。试试这句话:

Headers={'Authorization':f“Bearer{AccessToken}}


这将以正确的格式格式化标题。

确保您的AccessToken如注释所述的格式为“Bearer”,验证AccessToken的类型为Bearer。在我的问题陈述中又添加了一个函数定义确保您的AccessToken,如注释所述,是“Bearer”格式的验证AccessToken是在Bearer类型上的。在我的问题陈述中又添加了一个函数定义感谢您的快速响应。添加了建议的更改,但仍将401视为状态代码。错误地将访问令牌硬编码为静态值。与上述建议的标题格式一起进行的微小修改工作正常。现在,我从经过身份验证的RESTAPI获得了成功响应。很高兴我能提供帮助:)感谢您的快速响应。添加了建议的更改,但仍将401视为状态代码。错误地将访问令牌硬编码为静态值。与上述建议的标题格式一起进行的微小修改工作正常。现在我从经过身份验证的rest api获得了成功响应。很高兴我能提供帮助:)