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

后端 未结 1 1045
面向向阳花
面向向阳花 2021-01-18 22:15

Google People API, unlike Google Plus API doesn\'t provide an unique id for each Person resource in the response.

相关标签:
1条回答
  • 2021-01-18 22:39

    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.

    0 讨论(0)
提交回复
热议问题