2010-09-20 48 views
1

我正在使用Zend Gdata將用戶連接到共享的Google Docs電子表格,該電子表格充當自定義界面的後端。在Zend GData中獲取AuthSub當前用戶

我需要跟蹤哪個用戶最近更改了特定列中的值。我不知道使用Google Spreadsheets執行此操作的方法(但對於我的問題,這將是一個可以接受的答案)。

有沒有辦法通過AuthSub獲取當前登錄用戶的用戶名/電子郵件地址,或者使用Google返回的令牌或其他方法?

回答

0

我只是這樣做,所以我可以幫你。

當然,你需要首先得到谷歌認證,聽起來你已經得到了這個,所以我不會在這裏概述它,因爲我沒有得到這與PHP的。但是,這並不重要,因爲谷歌返回XML,你只需要解析它來獲得它。

在您的控制器中,您可以打印xml以查看它是如何返回的。如果這對你沒有意義,那麼你需要知道的是,在xml文檔中,第一個元素中包含用戶電子郵件。而且,您可以解析xml,以便從電子郵件中獲取用戶名。

紅寶石我做了這樣的:

xml.elements.first.text 

XML是越來越有GDATA回來,這是使用紅寶石的寶石,但它應該是一樣的PHP。它使用下面的代碼調用google。無論如何,你不應該讓xml返回給你,你只需要訪問第一個元素的id。

xml = client.get('https://www.google.com/m8/feeds/contacts/default/base?max-results=10000').to_xml 
0

假設$ gspreadsheet是一種身份驗證Zend_Gdata_Spreadsheets對象,嘗試:

$ gspreadsheet-> getUserProfile( 「默認」) - >用戶名 - >文本;