2

目前我正在尝试检索所有用户的联系信息以及检索他们的唯一用户 ID。

我们的应用程序需要使用用户的谷歌联系人,用户将使用谷歌登录。因此,我们需要某种方式来识别每个唯一用户(很可能是谷歌提供的唯一用户 ID)

这是否可能仅使用谷歌联系人 API。

我为检索访问令牌所做的初始调用是:

" 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 "

但是,我不相信从该调用返回的访问令牌包含任何有关用户 ID 的信息,并且也不提供从 Google+ Api 检索用户 ID 的权限。

有没有人可以从谷歌联系人 API 获得一个唯一的用户 ID?有获取用户联系人的用户 ID 的示例,但我需要获取实际的用户 ID(即我正在获取其联系人的用户)?

这是否需要另一个范围,或者这也可以通过使用联系人 API 来完成?

4

2 回答 2

0

您可以通过他/她的电子邮件地址来识别用户,这是唯一的 AFAIK。当您向 google 联系人 api 发出请求时,您会在 xml 中获得一个名为 Id 的字段,即用户的电子邮件地址。

例如,您可以询问所有联系人,您会得到这样的xml。Id 字段是您想要的,根据您使用的编程语言、lib 等,您可以使用现有权限获取它。例如在 C# 和 gdata 中,你会做这样的事情(googleCredentials 应该是你的对象):

        var cr = new ContactsRequest(settings);
        var feed = cr.GetGroups();
        googleCredentials.Email = feed.AtomFeed.Id.Uri.Content;
于 2014-07-25T11:44:03.860 回答
0

注意:特殊的 userEmail 值 default 可用于指代经过身份验证的用户。

从文档文档中。您可以尝试将关键字default作为 userEmail。

于 2015-07-31T19:28:37.120 回答