无法使用Google帐户身份验证从iPhone发布数据

时间:2009-01-02 07:50:58

标签: iphone google-app-engine authentication

我正在使用适用于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"];

但它不起作用。

任何帮助?

3 个答案:

答案 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的源代码演示了如何。