我的Jawbone API有问题。当我使用https://github.com/karthikbgl/python-jawbone-up.git单步执行oauth过程时,我可以成功地接收授权代码,然后获取令牌
def access_token(self, code, grant_type='authorization_code'):
'''
Get the access code for a user with a auth code.
'''
params = {
'code' : code,
'client_id' : self.client_id,
'client_secret' : self.client_secret,
'grant_type' : grant_type
}
context = {
'base_url': self.base_url,
'params' : urllib.urlencode(params)
}
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json',
'X-Target-URI': 'https://jawbone.com',
'host': 'jawbone.com'
}
token_url = '{base_url}auth/oauth2/token/?{params}'.format(**context)
res = requests.get(token_url, headers=headers)
return res.json()
但是,我收到的令牌总是相同的,当我使用它调用API时,我收到错误:
{"meta": {"code": 401, "error_detail": "You must be logged in to perform that action", "error_type": "authentication_error", "message": "Unauthorized"}, "data": {}}
此外,如果我将名为access\u jawbone的模块与以下代码一起使用:
params = urllib.urlencode({
'email': username,
'pwd': password,
'service': 'nudge'
})
tokenresponse = urllib2.urlopen(url, params)
我得到了一个可以访问API的有效令牌
有人知道为什么oauth令牌不起作用吗
下面的问题似乎解决了同样的问题,但我不明白答案或如何解决我的问题。 Jawbone UP API oAuth and Access Tokens
我也有同样的问题。我认为答案就是: https://stackoverflow.com/a/32984287/1732987
为了解决这个问题,我必须通过浏览器注销所有Jawbone文件,从新的应用程序数据库中删除access令牌,然后重新开始登录过程
相关问题 更多 >
编程相关推荐