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; 
    } 
});