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

只愿长相守 提交于 2020-01-24 09:07:05

问题


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:


In short, use resourceName as an ID.

The Google People API is the user's list of contacts and have IDs specific to the user. They can create contacts that only have a mailing address or only have a name and no contact info. There is no way for Google to logically collate all of these contacts across all of the Google Contacts users.

Specific contacts or a user have a resourceName field that uniquely identifies that resource (contact) for the authenticating user. You basically want to use that as an id. This is the value you for use, for example, to query People.get.

This is part of an example response of a single contact from 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 is essentially the "id" of that contact and then in the metadata field it lists the sources the contact data comes from. E.g. CONTACT is for a Google Contacts entry where the user has manually entered name/phone/email/etc. PROFILE is a Google Profile, commonly with Google+ data.

The Person resource docs are a great place to learn more about these values.



来源:https://stackoverflow.com/questions/39608425/how-to-uniquely-identity-a-person-resource-in-google-people-api-response-from-a

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!