使用 javascript 获取 google 联系人

Posted

技术标签:

【中文标题】使用 javascript 获取 google 联系人【英文标题】:Getting google contacts with javascript 【发布时间】:2013-11-29 19:33:12 【问题描述】:

如何使用 javascript 获取已经使用 OAuth 2 进行身份验证的用户的联系人?

认证已经完成,我只需要如何获取联系人列表。我读过 Google Contacts Api 1 和 2 有一些 Javascript 代码示例,但我在 Google Contacts V3 网站上找不到任何内容。难道这样就不能再做了?

【问题讨论】:

您可以使用外部 SDK 以最简单的方式获取联系人,例如 cloudsponge.com。它有一个适用于多种语言的简单 SDK、一个小部件导入器并支持许多不同的联系服务。免责声明:我为 CloudSponge 工作。 【参考方案1】:

Google Contacts API v3 不提供 JavaScript SDK。

但是,如果您想在客户端处理联系人导入,您可以使用 ajax 调用来完成:

var clientId = 'XXX';
var apiKey = 'XXX';
var scopes = 'https://www.google.com/m8/feeds';

$(document).on('click', '.js-google_contacts', function() 
   gapi.client.setApiKey(apiKey);
   window.setTimeout(checkAuth, 3);
);

function checkAuth() 
  gapi.auth.authorize(
    client_id: clientId,
    scope: scopes,
    immediate: false
  , handleAuthResult);


function handleAuthResult(authResult) 
  if (authResult && !authResult.error) 
    $.get('https://www.google.com/m8/feeds/contacts/default/full?alt=json&access_token=' +
           authResult.access_token + '&max-results=700&v=3.0',
      function(response) 
         //Handle Response
      );
  

希望有帮助!

【讨论】:

什么是clientIdapiKey?我如何获得这些? 要获得那些你需要在谷歌开发者控制台注册console.developers.google.com 如何通过 auth 2.0 获取 google 联系人?我没有 apiKey。 我建议使用 hello.js - 它可以很容易地开始使用 Google 身份验证和联系人。 @Tristan 我们需要为在 console.developers.google.com 中获得一个帐户付费吗?【参考方案2】:

这是我们发现用于获取个人数据的方法:

var response = (JSON.stringify(response.feed.entry[0].gd$email, null, 4));
console.log(response);

如果您运行 JSON.stringify(response),您可以看到所有可以调用的标头。

【讨论】:

以上是关于使用 javascript 获取 google 联系人的主要内容,如果未能解决你的问题,请参考以下文章

如何仅使用客户 ID 在 Google Adwords API 中关联帐户?

使用Javascript从Google Places搜索api获取纬度和经度

如何通过 Javascript 中的 Google Calendar API 获取 Google Calendar 中事件的位置?

在 Firebase 中关联多个帐户

如何使用 JavaScript 在 Google Maps API 中仅获取一个标记

JavaScript google.loader.ClientLocation使用他们的IP地址获取一个人的纬度/经度