開発室ブログ

Google Google Analytics Node.js OAuth2 SEO Web API

Google Analytics APIのNodeモジュール(OAuth2)でsetCredentials is not a function

 弊社ではGoogle AnalyticsAPI(Node.js版)を利用してSEO調査・解析を行っておりますが、 先日、上記APIを更新したところ「setCredentials is not a function in googleapis.auth.OAuth2」というエラーが発生しました。

 以前まではgoogleapisの21.3.0を使用してましたが、23.0.0にバージョンを上げたところ、このエラーが発生しました。

 ググッたところ、殆ど日本語の記事がなく、英語ばかりの記事でしたがトップはそのまんまのタイトルが出てました。

stackoverflow.com

 つまり、認証トークンの渡し方がメソッドからプロパティに変わったということでした。

旧)

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
};

これでエラー回避できました。

RecentPost