繁体   English   中英

Google People API会收到联系人电子邮件

[英]Google People API get contacts emails

我需要通过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"
    }
  ]
}

为此,您需要使用Google Plus API:这是我在Google Plus API文档页面上找到的内容:

您可以使用电子邮件范围获取经过身份验证的用户的电子邮件地址。

以下JavaScript代码示例演示如何:

使用Google+登录对用户进行身份验证并获取有效的OAuth 2.0访问令牌。

使用令牌向HTTP发出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}}}}

来源: Google Plus API文档

如果有其他人遇到这个问题:检索授权用户的联系人电子邮件地址的解决方案,OP似乎想要的(不是授权用户自己的电子邮件地址)是为什么我无法检索电子邮件地址和电话号码使用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告诉它提取他们的电子邮件地址和姓名等。

获取https://people.googleapis.com/v1/people/me/connections?sortOrder=FIRST_NAME_ASCENDING&fields=connections(emailAddresses%2Cnames)&key= {YOUR_API_KEY}

试试这个,它会给你发电子邮件。 确保您的联系人有电子邮件。

您可以向https://people.googleapis.com/v1/people/me发送请求,从Google People API获取个人资料电子邮件。

如果你想非公共电子邮件,您将需要请求emailhttps://www.googleapis.com/auth/user.emails.read范围中规定https://developers.google.com/people/v1/如何-TOS /授权#轮廓范围

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM