How to uniquely identity a Person resource in Google People API response from a particular user?

时间:2016-09-21 05:47:31

标签: google-api google-contacts google-people

Google People API, unlike Google Plus API doesn't provide an unique id for each Person resource in the response.

Why has this been deprecated/removed and how to uniquely identify a Person in an user's contacts list without an id?

1 个答案:

答案 0 :(得分:2)

简而言之,请使用resourceName作为ID。

Google People API是用户的联系人列表,并具有特定于用户的ID。他们可以创建仅具有邮寄地址或仅具有姓名且没有联系信息的联系人。 Google无法在所有Google通讯录用户中对所有这些联系人进行逻辑整理。

特定联系人或用户具有唯一标识该身份验证用户的资源(联系人)的resourceName字段。您基本上希望将其用作id。这是您要使用的值,例如,查询People.get

这是来自People.connections的单个联系人的示例响应的一部分:

  {
    "resourceName": "people/103710953423417258027",
    "etag": "qwApd98gduQ=",
    "metadata": {
        "sources": [{
            "type": "CONTACT",
            "id": "1",
            "etag": "#rj+KMFHVyHY="
        }, {
            "type": "PROFILE",
            "id": "103710953423417258027",
            "etag": "#4eZfef/IuMFw="
        }],
        "objectType": "PERSON"
    },
    ...
  }

resourceName本质上是该联系人的“ID”,然后在metadata字段中列出了联系人数据来源。例如。 CONTACT用于Google联系人条目,其中用户已手动输入姓名/电话/电子邮件/等。 PROFILE是Google个人资料,通常包含Google+数据。

Person resource docs是了解这些价值观的好地方。