0

Google アナリティクスのデータを適切にフォーマットしてユーザーに表示するための非常にシンプルなダッシュボードを作成しようとしています。

私はoAuth2Clientと Django 1.10.4 と Python 3.5 を使用しています。

ドキュメント内の例に従って、非常にシンプルなアプリを作成しました。ランディング ページでログインを求められ、リンクをクリックして承認すると、Google ページが読み込まれ、GA データを共有するかどうかを尋ねられます。同意すると、ログインしている場合にのみ表示されるページにリダイレクトされます。これまでのところ、すべて問題ありません。

しかし、実際にユーザー データを取得することはできません。たとえば、ユーザー アカウントのプロパティのリストや、先週のプロパティのページ ビュー数などを取得する最善の方法は何ですか?

これまでの私のコードは次のとおりです。

/pools/models.py

from django import http
from oauth2client.contrib.django_util import decorators
from django.views.generic import ListView
# from polls.models import GoogleAnalytic
from django.http import HttpResponse
# Google Analytics
from apiclient.discovery import build

# def index(request):
#     return http.HttpResponse("Hello and Welcome! </br> </br> Click <a href='/profile_enabled'> here</a> to login")

@decorators.oauth_required
def get_profile_required(request):
    resp, content = request.oauth.http.request(
        'https://www.googleapis.com/plus/v1/people/me')
    return http.HttpResponse(content)

@decorators.oauth_enabled
def get_profile_optional(request):
    if request.oauth.has_credentials():
        # this could be passed into a view
        # request.oauth.http is also initialized
        return http.HttpResponse('You are signed in.</br> </br>'+'User email: {}'.format(
            request.oauth.credentials.id_token['email']) + "</br></br>Click <a href='/ga'> here </a> to view your metrics")
    else:
        return http.HttpResponse(
            'Hello And Welcome!</br></br>'
            'You need to sign in to view your data. </br></br>' +
            'Here is an OAuth Authorize link:<a href="{}">Authorize</a>'
            .format(request.oauth.get_authorize_redirect()))

########## MY CODE! ###############

@decorators.oauth_required
def google_analytics(object):
    return HttpResponse('These are your results for last week:')

urls.py

from django.conf import urls
from polls import views
import oauth2client.contrib.django_util.site as django_util_site


urlpatterns = [
    urls.url(r'^$', views.get_profile_optional),
    urls.url(r'^profile_required$', views.get_profile_required),
    # urls.url(r'^profile_enabled$', views.get_profile_optional),
    urls.url(r'^oauth2/', urls.include(django_util_site.urls)),
    urls.url(r'^ga/$', views.google_analytics)
]

設定.py

  [...]


    GOOGLE_OAUTH2_CLIENT_ID = 'XXX.apps.googleusercontent.com'

    GOOGLE_OAUTH2_CLIENT_SECRET = 'XXX'

    GOOGLE_OAUTH2_SCOPES = ('email','https://www.googleapis.com/auth/analytics')

だから私の問題は、Djangoがその特定のユーザーのデータにアクセスするためにトークンを保存する場所を本当に理解していないことです.電子メールアドレスを正しく出力するなどの理由で機能することはわかっていますが、何を追加すればよいかわかりませんdef google_analytics(object):実際に特定の Google API メソッドを取得します。

誰かがこの種のことについて経験を持っているなら、私は本当に助けていただければ幸いです! ありがとう!

4

1 に答える 1

0

アカウント、ウェブ プロパティ、プロファイル、フィルター、目標などの Google アナリティクスの構成の詳細を取得する場合は、 Google アナリティクス Management API V3を使用して行うことができます。

Google アナリティクス ビュー (別名プロファイル) から特定のディメンションと指標のデータをフェッチする場合は、 Core Reporting API V3またはAnalytics Reporting API V4を使用してそれを行うことができます。

Python API の例は、それぞれのガイドに記載されていると思います。

于 2017-01-07T05:18:03.440 に答える