代码之家  ›  专栏  ›  技术社区  ›  Jose M Vidal

无法从应用程序引擎访问谷歌电子表格:“临时移动”?

  •  2
  • Jose M Vidal  · 技术社区  · 15 年前

    几天前,我可以访问我的谷歌电子表格 从一个应用程序(应用程序内引擎),但今天它是坏的。

    也就是说,我可以

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

    它奏效了。事实上,当我和 DevAppServer

    但是,如果在应用程序引擎上崩溃。它说它不能解析 XML。

    我在gdata代码中添加了一些指纹,发现它不能 分析它,因为它认为XML实际上只是 登录页面。

    现在所发生的是,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 on返回正确的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 回复  |  直到 13 年前
        1
  •  3
  •   Nick Johnson    15 年前

    Docs正在将您重定向到登录页面。在试图获取电子表格之前,需要进行身份验证。不过,我不知道为什么它不要求您在dev服务器上进行身份验证。

        2
  •  1
  •   Jack M.    15 年前

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

    Ninja Edit:
    我没有意识到你可以直接从应用引擎访问电子表格。谷歌还提供了一些关于如何使用谷歌电子表格进行认证的信息。 over here . 您检查过本地环境的版本吗?也许这是你的开发环境还没有发现的新东西?

        3
  •  1
  •   pforret    13 年前

    检查我的答案 http://blog.forret.com/2011/07/google-docs-infamous-moved-temporarily-error-fixed/

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

        4
  •  0
  •   Jose M Vidal    15 年前

    好的,现在可以用了。谷歌已经痊愈了。

    很明显,我没有更改代码中的任何内容,问题就消失了。这一定是谷歌的一个短暂错误。

    我希望这些类型的错误会非常罕见,因为它们会使我的整个网络应用程序瘫痪。