2
誰かがGoogle Cloud機能内からGoogleのディレクトリAPIにアクセスする方法のコード例はありますか?具体的には、3LOリフレッシュトークンを使用して、ディレクトリAPIへのアクセスを許可されたアクセストークンを生成したいと考えています。おそらくは「googleapis」ライブラリを使用しています。Google Cloud機能のディレクトリAPIへのアクセスを許可する方法
誰かがGoogle Cloud機能内からGoogleのディレクトリAPIにアクセスする方法のコード例はありますか?具体的には、3LOリフレッシュトークンを使用して、ディレクトリAPIへのアクセスを許可されたアクセストークンを生成したいと考えています。おそらくは「googleapis」ライブラリを使用しています。Google Cloud機能のディレクトリAPIへのアクセスを許可する方法
誰もが、私はいくつかのドキュメントを深く掘ってアプリ(カール+ブラウザー)外部から付与されたリフレッシュトークンを取得し、ディレクトリAPIを呼び出すコードにプラグインする方法について説明したthis pageを発見した応答しなかったので:
const google = require('googleapis');
const admin = google.admin('directory_v1');
const OAuth2 = google.auth.OAuth2;
var oauth2Client = new OAuth2(
'client_id',
'client_secret',
'redirect_url'
);
//Store a refresh token from outside Cloud Functions
oauth2Client.setCredentials({
refresh_token: 'refresh_token_from_curl'
});
//Make sure the access_token is fresh (they expire every hour-ish)
oauth2Client.refreshAccessToken(function(err,tokens){
});
admin.tokens.list({
auth: oauth2Client,
userKey: userEmail
}, function(err,response){
if (err) {
console.log('The Directory API returned an error: ' + err);
return reject(err);
}
var tokens = response.items;
if(tokens == null){
console.log('No tokens for ' + userEmail);
}
else {
console.log('Tokens:');
for (var i = 0; i < tokens.length; i++){
var token = tokens[i];
console.log('clientId: ' + token.clientId);
console.log('displayText: ' + token.displayText);
console.log('anonymous: ' + token.anonymous);
console.log('nativeApp: ' + token.nativeApp);
console.log('userKey: ' + token.userKey);
console.log('scopes: ' + token.scopes);
}
}
});