2016-11-21 7 views
0

Node.jsのGoogleカレンダーAPIからイベントを取得しようとしましたが、OAuth2の仕組みを理解できませんでした。Node.jsのGoogleカレンダーAPIからベアラーの値を取得する方法

私は、コードを取得するためにルータにコールバックを用意し、それがうまく働いた:ユーザーから

router.get('/oauth2callback', function(req, res) { 

    // store code into database with user id. 
}); 

そして、取り出されたイベント:

user.findById(req.session.user_id) 
    .then(function (data) { 

     auth.setCredentials(tokens); 
      user.getCalendars(req.session.user_id) 
       .then(function (data) { 

        var promises = []; 

        for (var i = 0; i < data.length; i++) 
         promises.push(createPromise(data[i].cal_id)); 

        promise.all(promises) 
          .then(function (data) { 

           res.json(data); 
          }) 
          .catch(function (err) { 

           res.json(err); 
          }); 
       }) 
       .catch(function (err) { 

        res.json(err); 
       }); 
     }); 

function createPromise(calendarId) { 

    return new promise(function (resolve, reject) { 

     calendar.events.list({ calendarId : calendarId, key : '{MY_API_KEY}' }, { auth: auth }, function (err, result) { 

      resolve(result); 
     }); 
    }); 
} 

をしかし、それは公共のカレンダーを表示します。プライベートカレンダーを含むすべてのイベントを取得したい

私が認可のためにベアラヘッダーを取得できる場合、すべてのイベントをフェッチすることが可能であることがわかりました。どうすれば入手できますか?

プライベートカレンダーからすべての予定にアクセスするにはどのようなコードが必要ですか?

答えて

0

プライベートカレンダーにアクセスするには、このカレンダーを表示/表示するために認証する必要があります。アプリケーションでGoogleカレンダーAPIに送信するすべてのリクエストには、認証トークンが含まれている必要があるため、ここでOAuthまたはサービスアカウントを使用できます。トークンはまた、あなたのアプリケーションをGoogleに特定します。詳細については、documentationをご確認ください。

ここでOAuthの使用方法を含め、NodejsでCalendar APIを使用する方法の詳細については、Githubを確認することをおすすめします。

詳細については、これらの関連する質問を確認してください。

関連する問題