2017-04-16 3 views
0

私はサーバー側で認証するのに苦労しています。Node.js - 訪問者に私自身のGoogle Analyticsデータを表示

Googleアナリティクスから自分のサイトの訪問者に自分のデータを表示したいとします。 OAUTH2を使用してユーザーを認証する方法については、マニュアル、API、またはチュートリアルで説明しています。

すなわち:https://github.com/google/google-api-nodejs-client#alpha https://developers.google.com/analytics/devguides/reporting/embed/v1/core-methods-reference https://developers.google.com/analytics/devguides/reporting/core/v2/authorization のように。

これで、私はアクセスしたいアカウントではなく自分のアカウントであるため、ユーザーを認証する必要はありません。

この

は、私が使用していますものです:

var google = require('googleapis'); 
var scopes = ['https://www.googleapis.com/auth/analytics.readonly'] 
var OAuth2 = google.auth.OAuth2; 
var oauth2Client = new OAuth2(auth.googleAPI); 
var analytics = google.analytics("v3") 
console.log(analytics.data.ga.get({ 
    ids:"ga:107290894", 
    "start-date":"2016-01-01", 
    "end-date":"2017-04-15", 
    "metrics":'ga:sessions,ga:pageviews', 
})) 

しかし、私は次のエラーを取得:auth.googleAPIて

{ [Error: Login Required] 
code: 401, 
errors: 
[ { domain: 'global', 
    reason: 'required', 
    message: 'Login Required', 
    locationType: 'header', 
    location: 'Authorization' } ] } 

私はクライアントID、秘密鍵と公開鍵を渡していますが、すべての私がサービスアカウントキーを作成したときにGoogleから得たJSONファイルにあった他の情報。

私は間違っていますか?

答えて

0

ドキュメントではっきりとわかりませんが、googleapisで提供されているJWT(サービストークン)を使用する必要があることが判明しました。

これが役に立ちます。

関連する問題