我正在使用适用于Google App Engine应用程序的iPhone应用程序。我设法通过使用谷歌帐户登录,我获得了身份验证令牌。我也能够从GAE服务中获取数据(我在阅读了这里写的另一个问题后做了)但现在我需要POST数据,所以我需要在POST请求的标题中发送身份验证令牌。我尝试了几个选项,但没有一个可行。
这是我用来将auth放入标题的代码:
NSString* urlStr = [NSString stringWithFormat:@"%@%@", HOST, url];
NSMutableURLRequest* urlPost = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlStr]];
NSString* authStr = [NSString stringWithFormat:@"GoogleLogin auth=%@", token];
[urlPost addValue:authStr forHTTPHeaderField:@"Authorization"];
但它不起作用。
任何帮助?
答案 0 :(得分:3)
您需要使用[request setHTTPMethod: @"POST"]
和[request setHTTPBody: postdata]
来正确配置POST组件。有关详细信息,请参阅NSMutableURLRequest文档。
答案 1 :(得分:2)
每当我在解决与HTTP相关的问题时,我要抓住的第一个工具是Charles HTTP Proxy。它将向您显示整个请求和响应,以便进一步检查。
答案 2 :(得分:1)
如果您要对App Engine应用进行身份验证,则需要获取并发送身份验证Cookie,而不是使用GoogleLogin身份验证。 Python SDK中appengine_rpc.py的源代码演示了如何。