我想从 gdata-python-client 库示例中运行provisionin_oauth_example 。
在进行了一些小改动后,主要是为了使其在 AppEngine 中工作,这就是在本地和 AppEngine 服务器中发生的情况:
如果我使用 OAuth 域密钥:
使用2-legged authorization,我得到:
未知的授权标头。
错误 401
使用3-legged authorization,我可以使用管理员用户列出我的 GApps 域中的所有用户。这是唯一真正有效的东西。
如果我使用 Marketplace 中的 Consumer 密钥和密钥:
使用2-legged authorization,我得到:
无效的 OAuth 签名
错误 403
通过3-legged 授权,我陷入了一个异常:
...文件“/base/data/home/apps/s~deimos-intranet/1.363589987091160356/main.py”,第 147 行,在 post scopes=INIT['SCOPES'], oauth_callback=self.request.uri) 文件中“/base/data/home/apps/s~deimos-intranet/1.363589987091160356/gdata/service.py”,第 429 行,在 FetchOAuthRequestToken
引发 FetchingOAuthRequestTokenFailed(错误)
FetchingOAuthRequestTokenFailed: {'status': 400L, 'body': 'signature_invalid\nbase_string:GET&https%3A%2F%2Fwww.google.com%2Faccounts%2FOAuthGetRequestToken&oauth_callback%*XXXXXX*oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1354489805%26oauth .0%26scope%3Dhttps%253A%252F%252Fapps-apis.google.com%252Fa%252Ffeeds\n\n', 'reason': 'Non 200 response on fetch request token'}
有人知道为什么 2-legged 身份验证根本不起作用,为什么 3-legged 不能使用应用程序密钥,即使我已授权访问数据所需的所有提要?
几天前我被抓到了,现在我没有找到任何提示。
太感谢了。