2016-09-21 30 views

回答

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是了解更多关于这些值的好地方。

+0

我正在谈论用户特定的联系人ID。如果您浏览Google人员API,您将无法在响应中找到任何“Id”字段。这是设计还是忘了包含它? – jackofblades

+0

@jackofblades我已更新了有关'resourceName'信息的答案 – abraham

+0

个人资源文档提到了这一点:**添加或删除链接联系人和个人资料的字段时,资源名称可能会更改,例如经过验证的电子邮件,已验证的电话号码或profile URL。**在这种情况下,我们不能将它用作同步和更新的'Id',我们可以吗? – jackofblades

相关问题