谷歌通讯录与谷歌JavaScript客户端库API(Google Contacts API with

2019-08-05 04:21发布

我试图与合作谷歌联系人API V3 。

由于OAuth2用户认证和授权,我开始使用谷歌API客户端JavaScript库 。 我有一个的API访问的那部分没有问题。

但这样做的权威性部分后,我不知道下一步该怎么做。 我可以使用谷歌的API的JavaScript客户端的谷歌联系人API V3? 在支持谷歌的API由JavaScript客户端列表中的联系人API不会出现。 但是,我有完全访问的OAuth 2.0游乐场工具 。

我真搞不清楚哪个客户端是工作最好最新的谷歌联系人API。 是什么样的GDATA的JavaScript客户端 ?

Answer 1:

要使用由GAPI(谷歌JS客户LIB)这个人是有帮助的,所提供的认证令牌使用V3联系人API alt=&json

$.getJSON('https://www.google.com/m8/feeds/contacts/default/full/?access_token=' + 
             authResult.access_token + "&alt=json&callback=?", function(result){
      console.log(JSON.stringify(result));
});


Answer 2:

您所遇到的问题是,联系人API v3是一个较旧的API,与过时的作品的GData客户端库 。 因此,这是与新的不兼容谷歌的API JavaScript客户端 。

现在你需要加载并使用的GData客户端库。 有关的GData库和谷歌的API客户端之间的区别的更多信息,请参见本最近的SO问题: gapi.client.load对的google.load



Answer 3:

我知道这是一个老问题,但这个问题表明了寻找关于如何阅读从谷歌帐户中的联系人信息时。

如果你只需要访问联系人导入或显示电子邮件,电话号码或其他信息,你不需要修改它,你可以使用人API( https://developers.google.com/people / )。 对于JavaScript您可以检查样品标签。

我创建了一个要点,这几乎是从谷歌的样品,但添加requestField参数。

https://gist.github.com/ddbb1977/7a4b408ed17c7249252a



Answer 4:

不幸的谷歌联系人API不与新的JavaScript客户端库工作。 它仅适用于客户端的GData库。 我想工作的GData客户端库,但是当你在每一个关键时刻,该库已被废弃获得文档中警告,这是困难的。

因此,我使用了氢化物,

  1. 使用新客户端库,以获得认证。
  2. 使用URL来获取联系人

不幸的是,由于跨域限制,你需要使用JSONP,否则浏览器失败。

 <script src="https://apis.google.com/js/client.js"></script>
.....
function contactsInit() {
  var clientId = 'YOURCLIENTID.apps.googleusercontent.com';
  var scopes = 'https://www.google.com/m8/feeds';
  gapi.auth.authorize({
    client_id: clientId, scope: scopes, immediate: false}, 
     handleAuthResult);

 function handleAuthResult(authResult) {
 if (authResult && !authResult.error) {
   var url = 
    "https://www.google.com/m8/feeds/contacts/default/" + 
    "full?alt=json-in-script&access_token=" + 
    authResult.access_token + 
    "&max-results=7000&v=3.0";

   var myJSONP = new Request.JSONP({
      url: url,
      callbackKey: 'jsoncallback',
      data: {
            },
      onRequest: function(url){
                // a script tag is created with a src equal to url
          },
      onComplete: function(data){
                // the request was completed.
            }
      }).send();
    }
 }
}

function Skeleton() {}
  if (!gdata) {
    var gdata = new Skeleton();
    gdata.io  = new Skeleton();
    gdata.io.handleScriptLoaded = function(data)    {
      processContacts(data);
  }
}

注:我使用MooTools的为JSONP,但你也可以使用与jQuery或香草JS 如何从Javascript使JSONP请求不JQuery的?

您需要提供自己的YOURCLIENTID,并定义processContacts功能。

该gdata.io.handleScriptLoaded(数据)是必要的,因为这是什么网址回调过程中的期望。

我使用的7000的限制,但我不认为这是必要的。

如果你不希望使用JSONP您可以在使用的access_token卷曲或用Node.js的转发到你的网络服务器,并处理URL出现,如只是使用JSON代替JSON-的脚本。

在JSON-的脚本是在浏览器很重要,因为否则浏览器嘎嘎叫着。

由于此页面上的其他答案,那我指出了正确的方向。

我希望谷歌将使联系人API能够与新的JavaScript客户端库。 我希望其他人将其他能够在此期间,使用该解决方案。



Answer 5:

为了获取使用谷歌,加上使用联系人列表: -

<script src="https://apis.google.com/js/client.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
  function auth() {
    var config = {
      'client_id': 'OAUTH_CLIENT_ID',
      'scope': 'https://www.google.com/m8/feeds'
    };
    gapi.auth.authorize(config, function() {
      fetch(gapi.auth.getToken());
    });
  }

  function fetch(token) {
    $.ajax({
    url: "https://www.google.com/m8/feeds/contacts/default/full?access_token=" + token.access_token + "&alt=json",
    dataType: "jsonp",
    success:function(data) {
              console.log(JSON.stringify(data));
    }
});

}

在HTML身材: -

<button onclick="auth();">GET CONTACTS FEED</button>

输出将具有与含有的电话号码的联系的字段。

确保获得来自谷歌开发者控制台的客户ID正确重定向URI。



Answer 6:

这是我们发现的工作就是让个人数据:

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

如果运行JSON.stringify(数据),你可以看到所有你可以调用的头。



Answer 7:

谷歌接触v3是这份工作你最好的朋友

在这里你可以找到所有更多钞票请求端点https://developers.google.com/google-apps/contacts/v3/

像所有的联系人名单,这是终点https://developers.google.com/google-apps/contacts/v3/#retrieving_all_contacts

获取认证后,你可以做得到请求URL以便让所有的联系人列表,这是在Python的例子http://code.google.com/p/gdata-python-client/source/browse/samples/contacts/contacts_example。 PY



文章来源: Google Contacts API with Google JavaScript Client Lib