5

私はPythonが初めてで、GA情報をインポートしてMySQLに解析するアプリの拡張機能を作成しようとしています。このトピックに関する情報は非常にまばらです。Google Docsには、JSとJavaの例しかないようです...

...ユーザーが 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() であるべきだと思われますが、何を渡すように求めているのかわかりません。

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

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

編集:私は遠くに行きましたが、私の問題はまだ解決されていません. 以下のメソッドはデータを返します (私は信じています)... 私が得るエラーは次のとおりです: 「'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)
4

3 に答える 3

3

たぶん、この投稿が役立つかもしれません。Analytics 固有のバインディングはまだないようです。そのため、一般的な gdata を使用しています。

于 2009-10-28T02:05:56.387 に答える
2

私はGAを1年以上使用しており、2009年4月頃から、Clint Eckeretalによってpython-googleanalyticsというパッケージで提供されているpythonバインディングを使用しています。これまでのところ、それは非常にうまく機能します。

入手先は次のとおりです:http://github.com/clintecker/python-googleanalytics

通常の方法でインストールします。

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

[Credentials]
google_account_email = youraccount@gmail.com
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リスト(上記の例では、変数'account'にバインドされています)を返します。

于 2009-12-13T21:37:02.347 に答える
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

例 models.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>
于 2014-05-26T16:24:56.847 に答える