是否可以使用谷歌的人api加载联系人图片?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以使用谷歌的人api加载联系人图片?相关的知识,希望对你有一定的参考价值。

我正试图找到解决谷歌People API问题的方法。到目前为止,我已经能够使用加载联系人组

try{
    contact_groups = await new Promise(function(resolve, reject){
        people.contactGroups.list({
            auth: oauth2Client
        }, function(error, response){
            if(!error){
                resolve(response);
            }else{
                reject(error);
            }
        });
    });
}catch(error){
    throw error;
};

其中people是实例化的google-api-nodejs-client people(v1)对象。

我正在尝试为用户的联系人获取个人资料照片。如何为每个联系人加载公开个人资料图片或占位符?

答案

是的,可以使用Google的人员API。

const google = require('googleapis');
const OAuth2 = google.auth.OAuth2;

var oauth2Client = new OAuth2(
  'CLIENT_ID',
  'CLIENT_SECRET'
  'http://localhost:3000/auth/google/callback'
);

router.get('/signin', function(req, res, next){
  var url = oauth2Client.generateAuthUrl({
    scope: [
      'https://www.googleapis.com/auth/contacts.readonly'
    ]
  });

  res.redirect(url);
});

router.get('/google/callback', function(req, res, next){
  oauth2Client.getToken(req.query.code, async function(err, tokens){
    if(!err){
      oauth2Client.credentials = tokens;

      try{
        var contacts = await new Promise((resolve, reject) => {
          people.people.connections.list({
            resourceName: 'people/me',
            auth: oauth2Client,
            personFields: 'names,photos'
        }, function(error, response){
          if(!error){
            resolve(response);
        }else{
          reject(error);
        }
      })
    });
  }catch(error){
    throw error;
  }
});

以上是关于是否可以使用谷歌的人api加载联系人图片?的主要内容,如果未能解决你的问题,请参考以下文章

加载地图失败。在片段上联系 Google 服务器时出错

是否有数学计算可以通过谷歌的 Elevation API 定义点 A 和点 B 之间是否存在可见性?

谷歌的人怎么看百度深度学习开源平台

如果我们在使用谷歌翻译 API 时删除“由谷歌提供支持”,是不是违反谷歌的 T&C?

Android图片处理之Glide使用大全

是否可以在不使用其他应用引擎的情况下使用谷歌频道 api