我正在使用Zend Gdata将用户连接到共享的Google文档电子表格,作为自定义界面的后端。
我需要跟踪哪个用户最近更改了特定列中的值。我不知道使用Google Spreadsheets这样做的方法(但这对我的问题是可接受的答案)。
有没有办法获取当前通过AuthSub登录的用户的用户名/电子邮件地址,使用Google返回的令牌或其他方法?
答案 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( “默认”) - >用户名 - >文字;