Google People API获取联系人电子邮件
我需要通过Google People API获取联系人电子邮件,但无法在文档中找到方法。目前,我正在做以下请求:Google People API获取联系人电子邮件
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"
}
]
}
要做到这一点,你需要使用谷歌加上API:这是我在谷歌加API文档页面上找到:
您可以通过使用 电子邮件范围得到一个电子邮件地址验证的用户。
下面的JavaScript代码示例演示如何:
使用Google+登录的认证用户,并得到有效的OAuth 2.0 访问令牌。
使用令牌发出HTTP GET请求
https://www.googleapis.com/plus/v1/people/me
REST端点。解析回复并显示用户的电子邮件地址。
的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}}}}
您可以通过发出请求,以获得https://people.googleapis.com/v1/people/me
从谷歌API的人的个人资料的电子邮件。
如果你想非公共电子邮件,你会在https://developers.google.com/people/v1/how-tos/authorizing#profile-scopes
指定万一别人需要请求email
或https://www.googleapis.com/auth/user.emails.read
范围遇到这样的问题:解决获取授权用户的电子邮件地址联系人,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
告诉它拉他们的电子邮件地址和姓名等
GET https://people.googleapis.com/v1/people/me/connections?sortOrder=FIRST_NAME_ASCENDING&fields=connections(emailAddresses%2Cnames)&key= {} YOUR_API_KEY
尝试这个,它会给你的电子邮件。确保你的联系人有电子邮件。
这是在Google Plus API下我认为 – MatejMecka
@UnknownDeveloper谢谢,我能够通过请求'https://www.googleapis.com/plus/v1/people/me?access_token = tokenHere'获取用户的个人资料,但我无法找到获取用户联系人的方式,Google Plus API有可能吗? – snowfinch27
https://developers.google.com/+/web/people/ – MatejMecka