2012-05-08 25 views
10

私はhttp://www.cross-copy.netのバックエンドとしてRESTfulなnode.jsサービスを書いており、Webクライアントの使用状況を追跡するだけでなく、デバイス間コピー/コピーサービスを使用する他のクライアント(コマンドラインやAppsなど)ペースト。 Google AnalyticsのJavaScript APIをnode.jsアプリケーションに組み込み、サーバー側のトラッキングを行うことは可能ですか?Googleアナリティクスでnode.js RESTfulサービスの使用状況をトラッキングするにはどうすればよいですか?

答えて

2

、ノードのための何もありませんでした...だから、私はこれらの最後の数日間、このために仕立てnodejsモジュールを書き、ちょうどNPMでそれを公表:node-ga

モジュールは、実際にはまだです新しい(かろうじてペットのプロジェクトの生産でそれをしようとする)ので、あなたの入力を与えることを躊躇しない:)


+0

これは本当に面白いです...私はちょうど同じことこの週末を行うモジュール上のタッチを入れていました!私は本番環境でそのバージョンを使用していましたが、コードを取り除く前にコードを少しきちんと整理すると考えました。 – Brad

+0

@ブラッド:より多くのモジュールは、ユーザーの心をくすぐる: – red

+0

ハ、多分。今のところ、私はあなたの必要がうまくいっぱいだと思う。よくやった! – Brad

2

ノードプロジェクトにga.jsをドロップすることはできません。正しく機能するには、ブラウザにロードする必要があります。

私は何がまだノードのためにそこにあると信じていませんが、簡単にログサーバー側を行うため、既存のPHPクラスを適応させることができるはずです(私が間違っているなら、私を修正!):

https://developers.google.com/analytics/devguides/collection/other/mobileWebsites

トラッキングGIFをリクエストするURLがga.php内でどのように構築されているかを確認できます。 ga.phpをJSに翻訳すると設定されます。ブラッドは当然悲しいよう

$utmGifLocation = "http://www.google-analytics.com/__utm.gif"; 

// Construct the gif hit url. 
$utmUrl = $utmGifLocation . "?" . 
    "utmwv=" . VERSION . 
    "&utmn=" . getRandomNumber() . 
    "&utmhn=" . urlencode($domainName) . 
    "&utmr=" . urlencode($documentReferer) . 
    "&utmp=" . urlencode($documentPath) . 
    "&utmac=" . $account . 
    "&utmcc=__utma%3D999.999.999.999.999.1%3B" . 
    "&utmvid=" . $visitorId . 
    "&utmip=" . getIP($_SERVER["REMOTE_ADDR"]); 
1

Iは、ノード-GAを試してみたが、動作するように、トラッキングイベントを取得できませんでした。 nodealyticsは仕事をしました。

7

回答のすべてが本当に古いですので、私は新しいNPMパッケージを言及します: https://www.npmjs.com/package/universal-analytics

それは本当に素晴らしいと信じられないほど使いやすいです。あなたのルートファイルで

2

ユニバーサルアナリティクスをインストールし

npm install universal-analytics --save

、モジュールが必要です。 ( 'UA-12345678から1' のような文字列でprocess.env.GA_ACCOUNTを交換してください)

// Init GA client 
var ua = require('universal-analytics'); 
var visitor = ua(process.env.GA_ACCOUNT); 

今、あなたのエンドポイント機能の内側に、あなたはページビューを追跡することができます。

// Track pageview 
visitor.pageview(request.url).send(); 

は、このモジュールの詳細はUA上documentationを読む('/api/users/1'のような現在のURL文字列でrequest.urlを交換してください)。

0

Googles Analytics Core Reporting API(v3)からNode.jsを使用してデータをクエリするスクリプトを作成しました。スクリプトと詳細な設定の説明はhereです。ここで

は、スクリプトの一部です:

'use strict'; 
var googleapi = require('googleapis'); 
var ApiKeyFile = require('mywebsiteGAapi-6116b1dg49a1.json'); 
var viewID = 'ga:123456700'; 

var google = getdefaultObj(googleapi); 
var Key = getdefaultObj(ApiKeyFile); 

function getdefaultObj(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 

var jwtClient = new google.default.auth.JWT(Key.default.client_email, null, Key.default.private_key, ['https://www.googleapis.com/auth/analytics.readonly'], null); 
jwtClient.authorize(function (err, tokens) { 
    if (err) { 
    console.log(err); 
    return; 
    } 
    var analytics = google.default.analytics('v3'); 
    queryData(analytics); 
}); 

function queryData(analytics) { 
    analytics.data.ga.get({ 
    'auth': jwtClient, 
    'ids': viewID, 
    'metrics': 'ga:users,ga:pageviews', 
    'start-date': 'yesterday', 
    'end-date': 'today', 
    }, function (err, response) { 
    if (err) { 
     console.log(err); 
     return; 
    } 
    console.log(JSON.stringify(response, null, 4)); 
    }); 
}