2017-09-01 6 views
4

サーバーを使用して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 = {}; 

ありがとうございました!

+0

この[報告された問題](https://github.com/google/google-api-nodejs-client/issues/461)の可能な解決方法に従ってください。異なるコードを実装している可能性があり、サービスアカウントに対してドメイン全体の委任を有効にする必要があります。お役に立てれば。 –

答えて

0

これを必要とする将来の誰でも。それは後に作業を開始しました:

1)ドメイン全体の委任 2)所有者 3としてサービスアカウントにユーザーを追加するには)おそらく最も**重要な可能:Googleの管理者に行って、サービスアカウントへのAPIアクセスを与えた

+0

私はこれを設定したとは思うが、うまく動作するとは思えない。 @ dan-wolfgramでは、これらのステップについていくらか明確に説明できますか? – BoredAndroidDeveloper

関連する問題