我对 AppEngine 和 Context.IO API 有一个非常奇怪的问题。
我正在使用contextIO2库,它使用python-oauth2。
当我通过终端试用库(contextIO2)时,我没有遇到任何问题(或者至少现在还没有。但我在几天内尝试了几十次都没有问题)。
但是在 AppEngine 上运行代码时,有时会401 Authorization Invalid consumer key
出错。我不确定是什么原因造成的,因为一分钟请求正常,然后当我再次尝试请求时,我得到了401
,然后过一会儿就好了,然后又不行了,依此类推。
我通过电子邮件发送了 Context.IO 支持,他说当他尝试我的应用程序的 url 并收到错误时,“oauth_consumer_key 似乎没有正确传输”。这可能是什么原因造成的?AppEngine 搞砸了请求?pythoan-oauth2 错误?contextIO2 错误?
这是我的处理程序之一的代码:
class ReceiveConnectTokenHandler(webapp2.RequestHandler):
def get(self):
contextio_token = self.request.get('contextio_token')
cio = ContextIO(API_KEY, API_SECRET)
# get token's associated email
try:
token = cio.get_connect_token(contextio_token)
except RequestError, e:
if e.status_code == 404:
self.response.write(
'Token %s not found. ' % contextio_token)
return
raise e
account = token.account
if not account or not account.email_addresses:
self.response.write(
'Token %s has no email associated with it yet.' % contextio_token)
return
email = account.email_addresses[0]
# clear email's memcache
memcache.delete_multi(['accounts', 'no_account'], namespace=email)
self.response.write(
'''%s is now connected with Context.IO. Please verify in the
gadget that you have granted access. You can close this window.''' % email
)
这只是一个简单的 GET onhttps://api.context.io/2.0/connect_tokens/{{token}}