首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >instapaper和oauth - 403“未登录”错误

instapaper和oauth - 403“未登录”错误
EN

Stack Overflow用户
提问于 2011-08-29 00:09:04
回答 2查看 774关注 0票数 2

我正在尝试使用instapaper,但我的请求总是出现403错误。代码如下:

代码语言:javascript
复制
consumer_key='...'
consumer_secret='...'
access_token_url = 'https://www.instapaper.com/api/1/oauth/access_token'

consumer = oauth.Consumer(consumer_key, consumer_secret)
client = oauth.Client(consumer)
client.add_credentials('...','...')

params = {}
params["x_auth_username"] = '..'
params["x_auth_password"] = '...'
params["x_auth_mode"] = 'client_auth'

client.set_signature_method = oauth.SignatureMethod_HMAC_SHA1()
resp, token = client.request(access_token_url, method="POST",body=urllib.urlencode(params))
result = simplejson.load(urllib.urlopen('https://www.instapaper.com/api/1/bookmarks/list?' + token))

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-30 20:22:46

关于签名方法,您是对的。但我的主要问题是我没有正确地处理令牌。下面是工作代码:

代码语言:javascript
复制
consumer = oauth.Consumer('key', 'secret')
client = oauth.Client(consumer)

# Get access token
resp, content = client.request('https://www.instapaper.com/api/1/oauth/access_token', "POST", urllib.urlencode({
    'x_auth_mode': 'client_auth',
    'x_auth_username': 'uname',
    'x_auth_password': 'pass'
}))

token = dict(urlparse.parse_qsl(content))
token = oauth.Token(token['oauth_token'], token['oauth_token_secret'])
http = oauth.Client(consumer, token)

# Get starred items
response, data = http.request('https://www.instapaper.com/api/1/bookmarks/list', method='POST', body=urllib.urlencode({
    'folder_id': 'starred',
    'limit': '100'
})) 
res = simplejson.loads(data)
票数 4
EN

Stack Overflow用户

发布于 2011-08-29 05:03:16

首先,确保oauth2是您正在使用的库。它是维护最好的python oauth模块。

其次,这看起来很可疑:

代码语言:javascript
复制
client.set_signature_method = oauth.SignatureMethod_HMAC_SHA1()

您将替换set_signature_method函数。它应该是:

代码语言:javascript
复制
client.set_signature_method(oauth.SignatureMethod_HMAC_SHA1())

您应该遵循下面的示例:https://github.com/simplegeo/python-oauth2/blob/master/example/client.py

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7222071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档