Аутентификация с помощью нового Google Analytics Core Reporting API и OAuth 2.0 - PullRequest
0 голосов
/ 11 декабря 2011

Новый «Базовый API отчетности Google Analytics» (версия 3.0) «рекомендует использовать OAuth 2.0 для авторизации запросов» ( цитата ).Однако в его документации очень неясно, как это сделать.(Там написано «Когда вы создаете свое приложение, вы регистрируете его в Google» ( цитата ), но считается ли сценарий оболочки «приложением»? Если это так, я должен зарегистрировать сценарий bash в «Консоль API» , которая не дает никаких указаний о том, как это сделать.) Используя Analytics 'версии 2.3, я запускаю скрипт bash:

#!/bin/bash
# generates an XML file

googleAuth="$(curl https://www.google.com/accounts/ClientLogin -s \
  -d Email=foo \
  -d Passwd=bar \
  -d accountType=GOOGLE \
  -d source=curl-dataFeed-v2 \
  -d service=analytics \
  | awk /Auth=.*/)"

# ...

feedUri="https://www.google.com/analytics/feeds/data\
?ids=$table\
&start-date=$SD\
&end-date=$ED\
&dimensions=baz\
&metrics=xyzzy\
&prettyprint=true"

# ...

curl $feedUri --silent \
  --header "Authorization: GoogleLogin $googleAuth" \
  --header "GData-Version: 2" \
  | awk # ...

Как мне это сделатьчто-то вроде этого - сценарий, который захватывает любой токен входа, который мне нужен, и отправляет его обратно - для новой Analytics?

(Кстати, да, я понимаю, что результатом будет JSON, а не XML.)

1 Ответ

0 голосов
/ 20 марта 2015

Вот пример сценария

googleAuth="$(curl https://www.google.com/accounts/ClientLogin -s \
 -d Email=$USER_EMAIL \
 -d Passwd=$USER_PASS \
 -d accountType=GOOGLE \
 -d source=curl-accountFeed-v1 \
 -d service=analytics \
 | grep "Auth=" | cut -d"=" -f2)"

feedUri="https://www.googleapis.com/analytics/v3/data/ga\
?start-date=$START_DATE\
&end-date=$END_DATE\
&ids=ga:$PROFILE_ID\
&dimensions=ga:userType\
&metrics=ga:users\
&max-results=50\
&prettyprint=false"

curl $feedUri -s --header "Authorization: GoogleLogin auth=$googleAuth"
...