Google Analytics и Python
-
06-07-2019 - |
Вопрос
Я новичок в Python и пытаюсь написать расширение для приложения, которое импортирует информацию GA и анализирует ее в MySQL. По этой теме существует крайне скудное количество информации. Документы Google, кажется, имеют примеры только на JS и Java ...
... я дошел до того, что мой пользователь может пройти аутентификацию в GA с использованием SubAuth. Этот код здесь:
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)
Итак, следующий шаг - получить данные. Я обнаружил эту библиотеку: (будьте осторожны, пользовательский интерфейс оскорбительный) > 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)
Решение
Возможно, этот пост может помочь. Похоже, что привязок к Google Analytics пока нет, поэтому вы работаете с общими gdata.
Другие советы
Я использую GA чуть больше года, и примерно с апреля 2009 года я использовал привязки python, поставляемые в пакете python-googleanalytics от Clint Ecker et al. Пока это работает довольно хорошо.
Вам нужно 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>