javascript - Google People API 获取联系人电子邮件

标签 javascript node.js google-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"
    }
  ]
}

最佳答案

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

You can get an email address for the authenticated user by using the email scope.

The following JavaScript code example demonstrates how to:

Use Google+ Sign-In to authenticate the user and get a valid OAuth 2.0 access token.

Use the token to make an HTTP GET request to the

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

REST endpoint. Parse the response and display the user's email address.

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

关于javascript - Google People API 获取联系人电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38970349/

相关文章:

javascript - 插入dom时UTF-8符号被转换

Node.js 事件代理

javascript - Puppeteer:异步函数中的圆括号是什么意思?

google-api - Google Drive API 1.8.1 - 大文件上传/下载问题

javascript - typescript 函数参数

javascript - 从 href 单击输入文本

python - 自动化 pydrive 验证过程

javascript - 为什么 Google 的 API 响应对象的属性键是随机的两个字符的字符串?

javascript - 以Javascript形式Java创建字节数组

node.js - 在graphql中获取复杂对象的字段类型错误