如何唯一地标识来自特定用户的Google People API响应中的Person资源



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

为什么这已经被弃用/删除,以及如何在没有id的用户联系人列表中唯一标识Person ?

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

Google People API是用户的联系人列表,并具有特定于用户的id。他们可以创建只有邮寄地址或只有姓名而没有联系信息的联系人。Google没有办法在逻辑上整理所有Google contacts用户的所有这些联系人。

特定的联系人或用户有一个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资源文档是了解这些值更多信息的好地方。

相关内容

  • 没有找到相关文章