Подключение к Google Analytics с помощью Streamsets - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь подключить Streamsets к Google Analytics. Однако у меня проблемы с настройкой. С обычным запросом CURL я бы сделал следующее:

Шаг 1) Перейдите по следующей ссылке, чтобы получить код авторизации:

https://accounts.google.com/o/oauth2/auth?client_id={CLIENTID}.apps.googleusercontent.com&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=https://www.googleapis.com/auth/analytics&response_type=code

Шаг 2) Сделайте почтовый запрос для получения токенов доступа и обновления

curl -i -v --request POST -H "Content-Type: application/x-www-form-urlencoded" -d "code={AUTHORIZATION CODE FROM STEP 1}&client_id={CLIENT ID}.apps.googleusercontent.com&client_secret={CLIENT SECREP}&scope=https://www.googleapis.com/auth/analytics&grant_type=authorization_code&redirect_uri=urn:ietf:wg:oauth:2.0:oob" https://accounts.google.com/o/oauth2/token

Шаг 3)

Выполнить фактический запрос скручивания:

curl -X POST -H "Authorization: Bearer ya29.{AUTH RESPONSE}" -H "Content-Type: application/json" --data "{\"reportRequests\": [{\"viewId\": \"ga:{NUMBER}\",\"dateRanges\": [{\"start_date\": \"2016-01-01\", \"endDate\": \"yesterday\"}],\"metrics\": [{\"expression\":\"ga:sessions\"}], \"dimensions\": [{\"name\":\"ga:dimensions2\"}, {\"name\":\"ga:dimensions3\"}],\"samplingLevel\": \"LARGE\",\"pageToken\": \"\", \"pageSize\": 10000}]}" https://analyticsreporting.googleapis.com/v4/reports:batchGet

И в Streamsets я попытался настроить его так: (Я использую изображения, потому что за ним легче следить.)

1) Я поместил URL ресурса так же, как шаг 3, где я получаю данные

2) Тело запроса также такое же, как на шаге 3

3) А это экран OAuth2. Я размыл полномочия.

3b) То, что я пытался: я пытался использовать тип предоставления учетных данных с идентификатором клиента и секретом клиента.

Однако я до сих пор не знаю, как получить свои данные. Я не получаю никаких выходных данных, и получение данных с помощью запроса CURL кажется мне трехэтапным процессом, а не двухэтапным (как, кажется, в Streamsets). Может ли Streamsets извлечь это или я должен написать собственный источник? Потому что мне кажется на первый взгляд, что он не может этого сделать. Я прочитал руководства Streamset и Google Analytics, но они мне особо не помогли.

Заранее спасибо.

...