サーバーを使用してGoogleカレンダーAPIを使用してサーバーを認証しようとしています。ドキュメントでは、ユーザーになりすますことができます。私は偽装したいアカウントに所有者のアクセス許可を追加し、ドメイン全体の委任が有効になっていることを確認しました。私が読んだすべてのものから、 'user @ example'はimpersonaterを指定すべきですが、動作しません。私はイベントなどを作成するすべての機能を持っているが、私はランダムに生成されたGoogle以外の電子メールからそれを得ることはできません。GoogleカレンダーAPIを使用するユーザーを偽装するoauth2サービスアカウント(node.js)
var google = require('googleapis');
var calendar = google.calendar('v3');
var scopes = ['https://www.googleapis.com/auth/calendar'];
var key = require ('./xxx.json'); // private json
console.log("Calendar Service connected");
var jwtClient = new google.auth.JWT(
key.client_email,
null,
key.private_key,
scopes,
'[email protected]'
);
jwtClient.authorize(function(err, token) {
if(err) {
//console.log(err);
}
console.log('token',token);
//listCalendars(jwtClient);
});
module.exports = {};
ありがとうございました!
この[報告された問題](https://github.com/google/google-api-nodejs-client/issues/461)の可能な解決方法に従ってください。異なるコードを実装している可能性があり、サービスアカウントに対してドメイン全体の委任を有効にする必要があります。お役に立てれば。 –