有一个网站需要OAuth 1.0并且需要使用令牌。我尝试了代码:
def request(path=None):
token = access_token()
headers = { 'Authorization' : 'oauth_token %s' % token }
res = requests.get('https://somewebsite.com/v1'+path, headers=headers)
print res.text
或将oauth_token
替换为access_token
或TOK:
。它们只是不起作用,返回错误Access_token is empty
。身份验证方法是否与各种站点不同?
答案 0 :(得分:1)
正确的标题格式为:
Authorization: OAuth param1_name="param1 value", param2_name="param2 value"
所以OAuth
后跟逗号分隔的名称 - 值对。
oauth_token
键是参数名称:
headers = {'Authorization': 'OAuth oauth_token="%s"' % token}
但是,根据Accessing Protected Resources预期会有更多参数,您需要发送的不仅仅是令牌。
如果您打算自己尝试实现此功能,请至少查看OAuth RFC和Python oauthlib
library source code。您还可以查看Requests-OAuthlib integration layer。