0

私はGoogleのPeople APIの周りを歩こうとしています。これまでのところ、私はpeopleがインスタンス化google-api-nodejs-clientpeople(v1)オブジェクトであるGoogleの人々の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; 
}; 

を使用して連絡先グループをロードすることができました。

私はユーザーの連絡先のプロフィール画像を取得しようとしています。連絡先ごとに公開プロフィール画像またはプレースホルダを読み込むにはどうすればよいですか?

答えて

1

はい、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; 
    } 
}); 
関連する問題