Google Google Analytics Node.js OAuth2 SEO Web API
Google Analytics APIのNodeモジュール(OAuth2)でsetCredentials is not a function
弊社ではGoogle AnalyticsのAPI(Node.js版)を利用してSEO調査・解析を行っておりますが、 先日、上記APIを更新したところ「setCredentials is not a function in googleapis.auth.OAuth2」というエラーが発生しました。
以前まではgoogleapisの21.3.0を使用してましたが、23.0.0にバージョンを上げたところ、このエラーが発生しました。
ググッたところ、殆ど日本語の記事がなく、英語ばかりの記事でしたがトップはそのまんまのタイトルが出てました。
つまり、認証トークンの渡し方がメソッドからプロパティに変わったということでした。
旧)
this.auth = new googleapis.auth.OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL);
this.auth.setCredentials({
access_token : client.accesstoken,
refresh_token: client.refreshtoken
});
新)
this.auth = new googleapis.auth.OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL);
this.auth.credentials={
access_token : client.accesstoken,
refresh_token: client.refreshtoken
};
これでエラー回避できました。