2009-10-29 22 views
2

由於幾天前,我能夠從一個應用程序(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 。

什麼是現在發生的是,蟒蛇GDATA庫做的是 (「埃莉諾」是電子表格名稱)

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時返回正確的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的暫時性問題,還是一些身份驗證問題?

回答

0

好吧,它現在的作品。谷歌已經治好了自己。

要清楚,我沒有在我的代碼修改,然後問題消失。 Google一定是一個短暫的錯誤。

我希望這些類型的錯誤將是真是難得,因爲他們把我的整個web應用程序了。

3

文檔正在將您重定向到登錄頁面。在嘗試獲取電子表格之前,您需要進行身份驗證。不過,我不確定爲什麼它不要求您在開發服務器上進行身份驗證。

+0

謝謝,但是,是的。我做了整個認證位:授權,獲取令牌,更新令牌。我仔細檢查了我的Google帳戶,實際上,我的應用具有「Google文檔」訪問權限(您可以在Google帳戶中查看這些內容)。 這是所有工作幾天前,然後谷歌改變了一些打破認證(如果這是問題)。我試圖明顯:撤銷訪問,然後重新授予它,但沒有去。 任何Google應用引擎員工閱讀本網站? – 2009-10-29 23:19:14

+0

不過,看起來很奇怪,他們會將「暫時移動」返回給未經授權的請求。如果我真的沒有被授權,那麼讓他們回覆401「需要授權」或者至少404是更合理的,你不覺得嗎? – 2009-10-29 23:31:19

+0

這是面向用戶請求的常用方法:身份驗證由另一個服務處理,因此該站點必須返回302以將用戶的瀏覽器發送到身份驗證頁面。不過,我不確定它爲什麼在API網址上這麼做。 – 2009-10-30 08:12:41

1

您可能必須無限制地訪問電子表格。你沒有共享,所以每個人都可以查看它。
可閱讀關於分享here

忍者編輯:
我不知道,你可以直接從應用程序引擎訪問電子表格。谷歌還有一些關於如何使用Google Spreadsheets over here進行身份驗證的信息。你檢查過你的本地環境的版本嗎?也許這是你的開發環境尚未找到的新東西?

+0

是的,這是我在兩個月前用來設置我的應用程序的鏈接,直到兩天前谷歌做了一些事情(我沒有改變我的軟件中的任何東西)才破解它。 – 2009-10-29 23:20:16

+0

我的意思是指向「使用Google App Engine檢索經過身份驗證的Google數據Feed」教程的鏈接。那是我用過的那個。 – 2009-10-29 23:21:11

相關問題