谷歌基础API的401和403错误

时间:2010-06-28 16:55:41

标签: python google-app-engine login gdata-api google-base

我使用Google App引擎和Data API构建了一个wiki。维基页面存储为Google Base“参考文章”。我希望用户能够查看,编辑和删除项目,因此当向服务器发出请求时,客户端登录使用我的用户名和密码,并代表用户检索或编辑数据。登录代码:

client = gdata.base.service.GBaseService()
client.ssl = False
gdata.alt.appengine.run_on_appengine(client)

#EMAIL, API_KEY and PASSWORD are constants stored on the server
client.email = EMAIL
client.password = PASSWORD
client.api_key = API_KEY
client.ProgrammaticLogin()

q = gdata.base.service.BaseQuery()
q.feed = '/base/feeds/items/' + self.base_id
item = base_client.GetItem(q.ToUri())

这对我来说很好,但如果我退出我的Google帐户,则会返回以下错误:

'status': 401L, 'body': '<HTML>\n<HEAD>\n<TITLE>Authorization required</TITLE>

我想要的只是让用户能够CRUD存储在Base上的数据。我做错了什么?
提前致谢

1 个答案:

答案 0 :(得分:1)

听起来您在客户端注销会使您帐户的所有会话无效。您最好的选择可能是专门为您的应用创建一个角色帐户。