无法从应用引擎访问Google电子表格:“暂时移动”?

时间:2009-10-29 19:40:24

标签: python google-app-engine

截至几天前,我可以访问我的Google电子表格 来自应用程序(在应用程序引擎中),但今天它已经坏了。

即,我可以

name= "name of my spreadsheet"
self.client = gdata.spreadsheet.text_db.DatabaseClient()
self.client.GetDatabases(name=name)

它有效。事实上,当我和我一起跑的时候,这仍然有效 dev_appserver

但是,如果在应用引擎上崩溃了。它说无法解析 XML。

我在gdata代码中添加了一些打印件,发现它不能 解析它,因为它认为XML实际上只是HTML的 登录页面。

现在发生的是python gdata库做了一个 ('eleanor'是电子表格名称)

GET /feeds/documents/private/full?title=eleanor

然后回来

<HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF="https://www.google.com/accounts/
ServiceLogin?
service=writely&amp;passive=true&amp;nui=1&amp;continue=http%3A%2F
%2Fdocs.google.com%2Ffeeds%2Fdocuments%2Fprivate%2Ffull%3Ftitle
%3Deleanor&amp;followup=http%3A%2F%2Fdocs.google.com%2Ffeeds
%2Fdocuments%2Fprivate%2Ffull%3Ftitle%3Deleanor">here</A>.
</BODY>
</HTML>

但是,在dev_appserver.py上本地运行时,相同的GET返回正确的XML:

<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/
2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'
xmlns:docs='http://schemas.google.com/docs/2007' xmlns:batch='http://
schemas.google.com/gdata/batch' xmlns:gd='http://schemas.google.com/g/
2005'><id>http://docs.google.com/feeds/documents/private/full</
id><updated>2009-10-29T19:14:07.401Z</updated><category scheme=......

我仔细检查过,是的,我的应用程序被授权访问谷歌 文档。

那么,“暂时移动”是怎么回事。这是googleplex中的一个短暂问题,还是一些身份验证问题?

4 个答案:

答案 0 :(得分:3)

文档会将您重定向到登录页面。您需要在尝试获取电子表格之前进行身份验证。我不确定为什么它不要求你在开发服务器上进行身份验证。

答案 1 :(得分:1)

您可能必须不受限制地访问电子表格。您没有共享它,所以每个人都可以查看它 可以阅读有关分享here

的信息

忍者编辑:
我没有意识到您可以直接从app-engine访问电子表格。 Google还提供了有关如何使用Google Spreadsheets over here进行身份验证的信息。你检查过本地环境的版本了吗?也许这是你的开发环境尚未发现的新东西?

答案 2 :(得分:1)

http://blog.forret.com/2011/07/google-docs-infamous-moved-temporarily-error-fixed/

上查看我的回答

如果您在链接中添加“&amp; ndplr = 1”,Google将不会尝试重定向进行身份验证。

答案 3 :(得分:0)

好的,它现在有效。谷歌已经痊愈了。

要清楚,我没有更改代码中的任何内容,问题就消失了。它一定是Google的暂时性错误。

我希望这些类型的错误真的很罕见,因为它们会降低我的整个网络应用程序。