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
?
答案 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是了解这些价值观的好地方。