在Zend GData中获取AuthSub当前用户

时间:2010-09-20 01:54:29

标签: php google-sheets gdata zend-gdata authsub

我正在使用Zend Gdata将用户连接到共享的Google文档电子表格,作为自定义界面的后端。

我需要跟踪哪个用户最近更改了特定列中的值。我不知道使用Google Spreadsheets这样做的方法(但这对我的问题是可接受的答案)。

有没有办法获取当前通过AuthSub登录的用户的用户名/电子邮件地址,使用Google返回的令牌或其他方法?

2 个答案:

答案 0 :(得分:0)

我刚刚这样做,所以我可以帮助你。

当然你需要首先通过google进行身份验证,听起来你已经开始这样了所以我不打算在这里概述它,因为我没有得到这个用PHP。但这并不重要,因为google返回xml并且你只需要解析它就可以获得它。

在您的控制器中,您可以打印xml以查看它是如何返回的。如果这对您没有意义,那么您需要知道的是,在xml文档中,第一个元素包含用户电子邮件。而且,您可以解析xml,以便从电子邮件中获取用户名。

对于ruby,我这样做了:

xml.elements.first.text 

xml正在返回gdata,它正在使用ruby gem,但它应该与php相同。它使用以下代码调用google。是不是真的因为你应该让xml返回给你,你只需要访问第一个元素的id。

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

答案 1 :(得分:0)

假设$ gspreadsheet是经过身份验证的Zend_Gdata_Spreadsheets对象,请尝试:

$ gspreadsheet-> getUserProfile( “默认”) - >用户名 - >文字;