Кастомные коннекторы для Power BI к Google с авторизацией по ссылке

Кастомные коннекторы для Power BI к Google с авторизацией по ссылке

Если ранее вы использовали коннекторы к Google Ads или Google Analytics, вы могли столкнуться с ошибкой авторизации. Для решения проблемы мы пробовали сменить браузер, но это сработало не у всех. Я решил нанести еще один удар и сделать несколько MEZ-коннекторов с авторизацией по ссылке. 

Не всем приятно это вспоминать, но еще раз обозначу проблему. Ошибка преследует людей при попытке авторизации в Google и не даёт им получить данные с помощью коннекторов:

Попробуем обойти ошибку с помощью авторизации по ссылке. 

Решение проблемы

Первым пунктом переходим по ссылке (чтобы статья не закрылась, жмите на ссылку колесиком мыши) и скачиваем файл googleToken.mez. Файл помещаем в папку к другим коннекторам, он будет необходим для получения токена.

Далее нужно выбрать сервис, к которому вы будете подключаться, и перейти по его ссылке. На выбор есть 3 ссылки (чтобы статья не закрылась, жмите на ссылку колесиком мыши): Google Ads, Google Analytics и Google Search Console. Вы переходите по ссылке выбранного сервиса, разрешаете доступ к аккаунту и получаете код. Как обычно, наши приложения не проверены Google, поэтому вам потребуется сделать несколько кликов:

После предоставления разрешения, вы получите долгожданный код. Проблемы могут быть если ваш аккаунт сильно защищён и не даёт разрешить доступ непровернному приложению. Тут я могу только посоветовать снизить защиту или раздать данные на новый аккаунт, где её нет.

Следующим действием вы открываете Power BI и находите коннектор googleToken: 

Коннектор потребует от вас 2 значения - название выбранной системы и собственно код, который вы получили по ссылке. Вводим их:

Результатом работы коннектора будет refresh_token, который позволит получать данные из нужной системы. 

Важный момент: refresh_token получается 1 раз. Если вы повторите запрос с тем же кодом, второй раз будет ошибка. Поэтому:

  1. Получайте токен функцией из коннектора, а не функцией на неё ссылающейся,
  2. Не пытайтесь получить refresh_token второй раз - придётся снова запрашивать код,
  3. Когда получили refresh_token, запишите его куда-нибудь, сам запрос лучше удалить.

Теперь вам понадобится альтернативный коннектор к вашей системе, поддерживающий авторизацию по ссылке. Google Search Console изначально так и работал, а новые коннекторы к Google Ads и Google Analytics я обозначил как BL (by link). Вот ссылки на коннекторы, которые вам подойдут: Google Ads, Google Analytics, Google Search Console. После перехода по ссылке жмёте "скачать", скачиваете файл .mez и размещаете его в папке с коннекторами. Новые коннекторы будут содержать в своём названии BL, вы без труда их найдёте в поиске источников.

Единственное отличие коннекторов BL в том, что в списке параметров теперь есть refresh_token. Рекомендую сразу вставить из буфера обмена значение refresh_token, чтобы потом не возвращаться к этому. Затем уже указываете остальные параметры коннектора и получаете данные. Так как токен теперь присутствует в коде, файл pbix нельзя никуда отправлять. Токен позволит забирать данные из вашего аккаунта не только вам. Вы бы итак не стали бы отправлять pbix злоумышленникам, но на всякий случай я вас предупредил. 

Новые коннекторы работают точно также, как и старые. С обновлением проблем быть не должно. Единственная разница, которую я замечал - в Power BI Desktop бывает глюк устаревшего токена. Кажется, что токен устарел и данные не подгружаются. Но обновление запроса мне помогало и проблема пропадала.

Комментарии