Получить AuthSub текущего пользователя в Zend GData - PullRequest
1 голос
/ 20 сентября 2010

Я использую Zend Gdata для подключения пользователей к общей электронной таблице Документов Google, которая служит бэкэндом для пользовательского интерфейса.

Мне нужно отследить, какой пользователь недавно изменил значение в определенном столбце. Я не знаю, как это сделать с помощью электронных таблиц Google (но это был бы приемлемый ответ на мой вопрос).

Есть ли способ получить имя пользователя / адрес электронной почты пользователя, который в данный момент вошел в систему через AuthSub, с помощью токена, возвращенного из Google, или другим способом?

Ответы [ 2 ]

0 голосов
/ 02 ноября 2012

Предполагая, что $ gspreadsheet является аутентифицированным объектом Zend_Gdata_Spreadsheets, попробуйте:

$ gspreadsheet-> getUserProfile ("default") -> username-> text;

0 голосов
/ 05 апреля 2011

Я только что сделал это, чтобы помочь вам.

Конечно, сначала вам нужно пройти аутентификацию в Google, и похоже, что вы уже начали, поэтому я не буду описывать это здесь какЯ не получил это с php.Но это не имеет значения, так как Google возвращает XML, и вам просто нужно проанализировать его, чтобы получить его.

В вашем контроллере вы можете распечатать XML, чтобы увидеть, как он возвращается.Если это не имеет смысла для вас, то все, что вам нужно знать, это то, что в документе xml первый элемент содержит электронную почту пользователей.И вы можете просто разобрать xml, чтобы получить имя пользователя из электронной почты.

С ruby ​​я сделал это так:

xml.elements.first.text 

XML возвращается с gdata,который использует рубиновый камень, но он должен быть таким же, как php.Он вызывает Google со следующим кодом.На самом деле это не так, как вам нужно, чтобы вам возвращали xml, и вам просто нужно получить доступ к идентификатору первого элемента.

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