2009-10-27 10 views
5

私はPythonで初めての新機能です。私は、GA情報をインポートしてMySQLに解析するアプリケーションに拡張機能を書き込もうとしています。トピックには、曖昧な量の情報があります。 Google Docsは、JSとJavaでの例しかないようです...Google AnalyticsとPython

...私はSubAuthを使用して自分のユーザーがGAに認証できるポイントに達しました。そのコードはここにあります:

import gdata.service 
import gdata.analytics 
from django import http 
from django import shortcuts 
from django.shortcuts import render_to_response 

def authorize(request): 
    next = 'http://localhost:8000/authconfirm' 
    scope = 'https://www.google.com/analytics/feeds' 
    secure = False # set secure=True to request secure AuthSub tokens 
    session = False 
    auth_sub_url = gdata.service.GenerateAuthSubRequestUrl(next, scope, secure=secure, session=session) 
    return http.HttpResponseRedirect(auth_sub_url) 

したがって、次はデータを取得しています。私はこのライブラリを見つけました:(注意、UIは攻撃的です)http://gdata-python-client.googlecode.com/svn/trunk/pydocs/gdata.analytics.html しかし、私はナビゲートが難しいと感じました。私はgdata.analytics.AnalyticsDataEntry.getDataEntry()のように思えるが、それを渡すように何を求めているのか分からない。

私は正しい方向へのプッシュが大好きです。私は、実用的な例を探してGoogleを使い果たしたと感じています。

ありがとうございました!

編集:私は遠くになったが、私の問題はまだ解決されていない。以下のメソッドはデータを返します(私は信じています)。私が得るエラーは: "'str'オブジェクトには '_BecomeChildElement'という属性はありません"私はフィードを返すと信じていますか?しかし、どのようにドリルダウンするのか分かりません。このオブジェクトを検査する方法はありますか?

def auth_confirm(request): 
    gdata_service = gdata.service.GDataService('iSample_acctSample_v1.0') 
    feedUri='https://www.google.com/analytics/feeds/accounts/default?max-results=50' 
    # request feed 
    feed = gdata.analytics.AnalyticsDataFeed(feedUri) 
    print str(feed) 

答えて

3

this postが助けになることがあります。アナリティクス固有のバインディングがまだないようですので、汎用のgdataを使用しています。

2

私は2009年4月ごろからGAを1年以上使用していましたが、python-googleanalyticsというPythonバインディングをClint Eckerらが使用しています。これまでのところ、それはかなりうまく動作します。

ここでそれを得る:http://github.com/clintecker/python-googleanalytics

通常の方法でインストールしてください。

はそれを使用するには:まず、あなたが手動でログイン資格情報にあなたがAPIにアクセスするたびに合格する必要がないように、そのように設定ファイルに入れ:

[Credentials] 
google_account_email = [email protected] 
google_account_password = yourpassword 

名このファイルを'.pythongoogleanalytics'をホームディレクトリに置きます。

、インタラクティブプロンプトから:

from googleanalytics import Connection 
import datetime 
connection = Connection()  # pass in id & pw as strings **if** not in config file 
account = connection.get_account(<*your GA profile ID goes here*>) 
start_date = datetime.date(2009, 12, 01) 
end_data = datetime.date(2009, 12, 13) 
# account object does the work, specify what data you want w/ 
# 'metrics' & 'dimensions'; see 'USAGE.md' file for examples 
account.get_data(start_date=start_date, end_date=end_date, metrics=['visits']) 

「get_account」メソッドは、あなたのデータが含まれているのpython リストを(上記の例では、変数「アカウント」にバインドされ)、戻ります。

+0

これはもう動作しません – Eli

0

アプリ内に3つのファイルが必要です。 client_secrets.json、analytics.dat、およびgoogle_auth.py

アプリ内でモジュールQuery.pyを作成します。

class Query(object): 
    def __init__(self, startdate, enddate, filter, metrics): 
     self.startdate = startdate.strftime('%Y-%m-%d') 
     self.enddate = enddate.strftime('%Y-%m-%d') 
     self.filter = "ga:medium=" + filter 
     self.metrics = metrics 

例のモデルを。py:#次の機能を持っています

import google_auth 
service = googleauth.initialize_service() 
def total_visit(self): 
    object = AnalyticsData.objects.get(utm_source=self.utm_source) 
    trial = Query(object.date.startdate, object.date.enddate, object.utm_source, ga:sessions") 
    result = service.data().ga().get(ids = 'ga:<your-profile-id>', start_date = trial.startdate, end_date = trial.enddate, filters= trial.filter, metrics = trial.metrics).execute() 
    total_visit = result.get('rows') 
    <yr save command, ColumnName.object.create(data=total_visit) goes here> 
関連する問題