gpt4 book ai didi

node.js - 如何授权访问 Google Cloud Function 中的 Directory API

转载 作者:搜寻专家 更新时间:2023-10-31 23:45:54 25 4
gpt4 key购买 nike

有没有人有关于如何从 Google Cloud Functions 中访问 Google 的 Directory API 的代码示例?更具体地说,我想使用 3LO 刷新 token 生成一个访问 token ,该 token 被授权访问目录 API,可能使用“googleapis”库。

最佳答案

由于没有人回应,我深入研究了一些文档并找到了 this page其中描述了如何获取从应用程序外部(curl + 浏览器)授予的刷新 token 并将其插入代码以调用目录 API:

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

关于node.js - 如何授权访问 Google Cloud Function 中的 Directory API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43355357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com