2016-08-16 5 views
2

Мне нужно получить контакты с помощью API Google People, но не могу найти способ сделать это в документах. В настоящее время я делаю следующий запрос:API Google People получить контакты электронной почты

request.get('https://people.googleapis.com/v1/people/me/connections?access_token=tokenHere', 
    function (error, response, body) { 
     console.log(body); 
    }); 

И получаю следующее товара (я придавить только его часть, например):

{ 
    "resourceName": "people/c1705421824339784415", 
    "etag": "328OLZwdaiQ=", 
    "metadata": { 
    "sources": [ 
     { 
     "type": "CONTACT", 
     "id": "17aae01d0ff8b2df", 
     "etag": "#328OLZwdaiQ=" 
     } 
    ], 
    "objectType": "PERSON" 
    }, 
    "names": [ 
    { 
     "metadata": { 
     "primary": true, 
     "source": { 
      "type": "CONTACT", 
      "id": "17aae01d0ff8b2df" 
     } 
     }, 
     "displayName": "testGoogleContact", 
     "givenName": "testGoogleContact", 
     "displayNameLastFirst": "testGoogleContact" 
    } 
    ] 
} 
+1

Это в соответствии с API Google Plus. Я думаю, что – MatejMecka

+0

@UnknownDeveloper благодарит меня, я смог получить профиль пользователя с запросом 'https: //www.googleapis.com/plus/v1/people/me? Access_token = tokenHere', но я не могу найти способ получить контакты пользователя, возможно ли это с помощью API Google Plus? – snowfinch27

+1

https://developers.google.com/+/web/people/ – MatejMecka

ответ

3

Для достижения этой цели необходимо использовать Google Плюс API: Это то, что я нашел на странице API Documentation Google Plus:

Вы можете получить адрес электронной почты для идентифицированного пользователя с помощью сферы электронной почты.

Следующий JavaScript код пример демонстрирует, как:

Использование Google+ Вход в систему, чтобы проверить подлинность пользователя и получить правильный OAuth 2.0 маркер доступа .

Используйте маркер, чтобы сделать запрос HTTP GET к REST конечной

https://www.googleapis.com/plus/v1/people/me

. Разберите ответ и отобразите адрес пользователя .

JSON хотел бы что-то вроде этого:

{"kind":"plus#person","etag":"\"xw0en60W6-NurXn4VBU-CMjSPEw/mjjYoraGfq3Wi-8Nee4F3k7GYrs\"","emails":[{"value":"**EMAIL**","type":"account"}],"objectType":"person","id":"Person ID","displayName":"FULL NAME","name":{"familyName":"LAST NAME","givenName":"NAME"},"url":"https://plus.google.com/USER","image":{"url":"https://lh5.googleusercontent.com/-RTcRn6jTuoI/AAAAAAAAAAI/AAAAAAAAEpg/Y6cMxfwtbQ4/photo.jpg?sz=50","isDefault":false},"placesLived":[{"value":"CITY","primary":true}],"isPlusUser":true,"verified":false,"cover":{"layout":"banner","coverPhoto":{"url":"https://lh3.googleusercontent.com/SybH-BjYW2ft1rzayamGLg_VwW7ocgnQ5cAxH3ROEpODvyaEODpYKW55gmAxCXDUvfKggQ4=s630-fcrop64=1,00002778ffffffff","height":626,"width":940},"coverInfo":{"topImageOffset":0,"leftImageOffset":0}},"result":{"kind":"plus#person","etag":"\"xw0en60W6-NurXn4VBU-CMjSPEw/mjjYoraGfq3Wi-8Nee4F3k7GYrs\"","emails":[{"value":"**EMAIL HERE**","type":"account"}],"objectType":"person","id":"116508277095473789406","displayName":"FULL NAME","name":{"familyName":"LAST NAME","givenName":"NAME"},"url":"https://plus.google.com/USER","image":{"url":"https://lh5.googleusercontent.com/-RTcRn6jTuoI/AAAAAAAAAAI/AAAAAAAAEpg/Y6cMxfwtbQ4/photo.jpg?sz=50","isDefault":false},"placesLived":[{"value":"CITY I LIVE","primary":true}],"isPlusUser":true,"verified":false,"cover":{"layout":"banner","coverPhoto":{"url":"https://lh3.googleusercontent.com/SybH-BjYW2ft1rzayamGLg_VwW7ocgnQ5cAxH3ROEpODvyaEODpYKW55gmAxCXDUvfKggQ4=s630-fcrop64=1,00002778ffffffff","height":626,"width":940},"coverInfo":{"topImageOffset":0,"leftImageOffset":0}}}} 

Источник: Google Plus API documentation

0

Вы можете получить электронную почту профиля из Google People API, сделав запрос на https://people.googleapis.com/v1/people/me.

Если вы хотите непубличные электронную почту, вам нужно будет запросить объем email или https://www.googleapis.com/auth/user.emails.read, как указано в https://developers.google.com/people/v1/how-tos/authorizing#profile-scopes

1

В случае, если кто-то приходит через этот вопрос: решение извлечения адреса электронной почты уполномоченного пользователя контакты, то, что OP, похоже, хочет (не адрес электронной почты авторизованного пользователя), находится в Why can't I retrieve emails addresses and phone numbers with Google People API?.

Объяснение: Если вы посмотрите на раздел в разделе «Параметры запроса» на https://developers.google.com/people/api/rest/v1/people.connections/list, вы увидите, что requestMask является параметром (документированы https://developers.google.com/people/api/rest/v1/RequestMask).

Он говорит, что вам нужно включить параметр requestMask в запросе, потому что вы делаете people.list запрос (т.е. с использованием connections GET конечной точки). Параметр requestMask в основном говорит API, какие поля тянуть: person.emailAddresses рассказывает тянуть адреса электронной почты народов, person.emailAddresses,person.names рассказывает тянуть адреса электронной почты и имена и т.д.

Смежные вопросы