如何在来自特定用户的 Google People API 响应中唯一标识个人资源?

jac*_*des 5 google-api google-contacts-api google-people-api

Google People API,Google Plus API不为响应中的id每个Person资源提供唯一的。

为什么这已被弃用/删除,以及如何Person在没有id.

abr*_*ham 5

简而言之,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"
    },
    ...
  }
Run Code Online (Sandbox Code Playgroud)

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

人的资源的文档都详细了解这些值的好地方。

  • 人员资源文档提到了这一点:**当添加或删除链接联系人和个人资料的字段(例如经过验证的电子邮件、经过验证的电话号码或个人资料 URL)时,资源名称可能会发生变化。**在这种情况下,我们不能使用它作为同步和更新的“Id”,可以吗? (2认同)