API контактов Google и область применения?

В настоящее время я пытаюсь получить всю контактную информацию пользователей, а также получить их уникальный идентификатор пользователя.

Наше приложение должно использовать контакты Google пользователей, и пользователь будет входить в систему с помощью Google. Таким образом, нам требуется какой-то способ идентификации каждого уникального пользователя (скорее всего, уникальный идентификатор пользователя, предоставленный Google).

Возможно ли это только с помощью API контактов Google.

Первоначальный вызов, который я делаю для получения токена доступа:

"https://accounts.google.com/o/oauth2/auth?client_id=51672309258-94cnvnrkrverd72neakom9d3siscda5o.apps.googleusercontent.com&redirect_uri=http://localhost/lunch/oauth.php&scope=https://www.google.com/m8/feeds/&response_type=code"

Однако я не верю, что токен доступа, возвращенный из этого вызова, содержит какую-либо информацию для идентификатора пользователя, а также не предоставляет разрешения на получение идентификатора пользователя из API Google+.

Можно ли в любом случае получить уникальный идентификатор пользователя из API контактов Google? Есть примеры получения идентификатора пользователя контактов пользователей, но мне нужно получить фактический идентификатор пользователя (т.е. пользователя, чьи контакты я получаю)?

Требуется ли для этого другая область действия или это также можно сделать с помощью API контактов?


person Mantissa    schedule 28.06.2013    source источник


Ответы (2)


Вы можете идентифицировать пользователя по его / ее адресу электронной почты, который, насколько я знаю, уникален. Когда вы отправляете запросы к API контактов Google, вы получаете поле в xml, которое называется Id, то есть адрес электронной почты пользователя.

Например, вы можете запросить все контакты и получить XML-файл, подобный этот . Поле Id — это то, что вам нужно, и в зависимости от используемого вами языка программирования, библиотеки и т. д. вы можете получить его с существующими разрешениями. Например, в C# и gdata вы должны сделать что-то вроде этого (вашим объектом должен быть googleCredentials):

        var cr = new ContactsRequest(settings);
        var feed = cr.GetGroups();
        googleCredentials.Email = feed.AtomFeed.Id.Uri.Content;
person kaiseroskilo    schedule 25.07.2014

Примечание. Специальное значение userEmail по умолчанию может использоваться для ссылки на аутентифицированного пользователя.

из документации документации. Вы можете попробовать использовать ключевое слово default в качестве userEmail.

person Psddp    schedule 31.07.2015