Google AppEngine 开发中的 OAuth 问题
我在 Google App Engine 开发中遇到了一个奇怪的问题,每次在我的发布请求中携带正文内容时,应用程序引擎无法验证我的帐户,但 get 请求有效。 有人可以帮助我吗?我在 Chrome 扩展开发中使用 oauth 库 ChromeExOAuth。
oauth.authorize(function(){
var request = {
'method': 'POST',
'headers': {
"Content-Type" : "application/x-www-form-urlencoded"
},
'parameters': {
},
'body': "a=b"
};
oauth.sendSignedRequest("http://mytabshub.appspot.com/tabshub", function(resp, xhr){
console.log("responding from test server", xhr.responseText);
}, request);
});
i have encountered a weird problem in Google App Engine developing, every time is carry a body content in my post request, app engine failed to auth my account, but get request works.
can anybody help me? i'm using oauth library ChromeExOAuth in chrome extension developing.
oauth.authorize(function(){
var request = {
'method': 'POST',
'headers': {
"Content-Type" : "application/x-www-form-urlencoded"
},
'parameters': {
},
'body': "a=b"
};
oauth.sendSignedRequest("http://mytabshub.appspot.com/tabshub", function(resp, xhr){
console.log("responding from test server", xhr.responseText);
}, request);
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于 POST 请求,您必须在请求正文中传递 url 编码的 oauth 参数。 SDK中的相关代码是这样的(dev_appserver_oauth.py):
请注意,查询仅在
GET
请求中进行解析。对于POST
,它必须位于正文中。For POST requests you must pass the oauth parameter url-encoded in the request body. The relavant code in the SDK is this (dev_appserver_oauth.py):
See that the query is only parsed in
GET
requests. ForPOST
, it must be in the body.