だから私は、Google アナリティクス APIx
を数秒ポーリングする Node.js アプリに取り組んでいます。「サービス アカウント」をセットアップし、p12
キーを.pem
ファイルに変換しました。初期設定は次のようになります。
var authClient = new google.auth.JWT(authData.serviceEmail, authData.keyFile, null, authData.scope, '');
authClient.authorize(function(err, tokens) {
if (err) {
winston.log('error', 'Error authorizing with GA', {error: err});
return;
}
setInterval(function() {
analytics.data.realtime.get({
'auth': authClient,
...
}, function (err, body) {
// getting 401 error here
})
}, 20000);
});
最初のトークンの有効期限が 1 時間であることを知りませんでした。ただし、受け取るトークンは次のようになります。
{
access_token: ...,
token_type: 'Bearer',
expiry_date: NaN,
refresh_token: 'jwt-placeholder
}
私の質問は、その401 invalidCredentials
エラーが発生したら、Google アナリティクスからポーリングできるように新しいアクセス トークンを取得するために再承認するだけですか? 私はJWTを初めて使用しますが、これは何度も承認するようです。これに制限はありますか?