GAE用户身份验证不';在iphone上无法使用channel_API

GAE用户身份验证不';在iphone上无法使用channel_API,iphone,google-app-engine,channel-api,Iphone,Google App Engine,Channel Api,我有一个GAE应用程序,在我的浏览器上运行得很好,但当我试图在iphone上运行同一个网站时,却无法识别用户。 我正在使用当前用户id发送带有通道API的消息 这是我的python GAE应用程序中的代码-这里有两个def-send_update和send_update_iphone-正如你所看到的,它们完全相似!两者都在类Updater()中: 现在,我从不同的地方给他们打电话,我给第一个打电话 Updater().send_update() 第二个呢 Updater().send_upda

我有一个GAE应用程序,在我的浏览器上运行得很好,但当我试图在iphone上运行同一个网站时,却无法识别用户。 我正在使用当前用户id发送带有通道API的消息

这是我的python GAE应用程序中的代码-这里有两个def-send_update和send_update_iphone-正如你所看到的,它们完全相似!两者都在类Updater()中:

现在,我从不同的地方给他们打电话,我给第一个打电话

Updater().send_update()
第二个呢

Updater().send_update_iphone()
当我使用该应用程序时,第一个应用程序运行得很好——它打开了频道,并在消息中毫无问题地进行更新。 当我从iphone进入应用程序时(同时登录到我的gmail),我得到:

“非类型”对象没有“用户id”属性

iPhone方面的一些细节: -我从UIWebView访问该网站 -我可以看到我已登录到我的谷歌帐户

有人能帮忙吗?我尝试了我所知道的一切>>>谢谢

更新:我检查了cookies(谢谢Calvin),发现在浏览器上我得到了cookie,但在iphone上我没有得到cookie(我使用
NSLog(@“cookies:%@,[request1 responseCookies]);

我现在知道,在浏览器中它是有效的,因为我从浏览器进入myapp.appspot.com页面,所以它有cookie,而从iphone我发布到myapp.appspot.com,但我从未进入页面本身,所以服务器从未向我发送cookie。
这很有趣,但我仍然不知道如何解决…

我发现了问题所在:iphone没有作为用户进行身份验证,因为我忘了将“
如果不是用户:

    self.redirect(users.create_login_url(self.request.uri))
在我请求iphone指向的页面(myapp.appspot.com/iphone)中。当然,当没有用户时,user.get_current_user()回答:

“非类型”对象没有“用户id”属性


我现在要做的是,我首先加载UIWebView以转到myapp.appspot.com/iphone,以确保如果用户尚未登录,他将登录,然后重定向到我需要的任何位置。

您应该打印出在每种情况下设置的cookie。我认为在应用程序中使用UIWebView会为您提供一组独立于Mobile Safari的cookie。此外,登录的gmail用户是否通过应用引擎登录提示?这就是设置get_current_用户使用的cookie的原因。嗨,我检查了cookie-将更新问题。但是什么是应用引擎登录提示?你的意思是我应该获得“登录”吗“来自gae的页面?因为我没有,我使用GAE文档中显示的方法进行登录、重定向等。也许你有一个不同的例子来说明我可以使用的登录方法?
    self.redirect(users.create_login_url(self.request.uri))