При запуске из Power BI не коннектится к R
bruiko opened this issue · 4 comments
Похожая проблема когда получаю баланс на агентском аккаунте. Написал скрипт, при запуске из Rstudio все работает. При сохранении скрипта и запуске по расписанию в логах пишет следующее:
clients <- yadirGetClientList(AgencyAccount = "", TokenPath = getwd())
Error in shell.exec(url) :
file association for 'https://oauth.yandex.ru/authorize?response_type=code&client_id=***********************&redirect_uri=https://selesnow.github.io/ryandexdirect/getToken/get_code.html&force_confirm=0&login_hint=*' not available or invalid
Calls: yadirGetClientList -> tech_auth -> yadirAuth -> browseURL -> shell.exec
Execution halted
звездочками заменил агентский логин и id
Похожая проблема когда получаю баланс на агентском аккаунте. Написал скрипт, при запуске из Rstudio все работает. При сохранении скрипта и запуске по расписанию в логах пишет следующее:
clients <- yadirGetClientList(AgencyAccount = "", TokenPath = getwd())
Error in shell.exec(url) :
file association for 'https://oauth.yandex.ru/authorize?response_type=code&client_id=***********************&redirect_uri=https://selesnow.github.io/ryandexdirect/getToken/get_code.html&force_confirm=0&login_hint=*' not available or invalid
Calls: yadirGetClientList -> tech_auth -> yadirAuth -> browseURL -> shell.exec
Execution halted
звездочками заменил агентский логин и id
Передавайте в аргумент TokenPath полный путь, например 'c:/my_r_script/' (т.к. при запуске из RStudio рабочей папкой является "мои документы", при запуске из Power BI другая директория), далее один раз прогоните скрипт именно из RStudio, т.к. в RStuio R запускается в интерактивном режиме, получите и сохраните токен, т.к. Power BI запускает R в пакетном режима, а пакетный режим не даёт возможности запуска браузера, и получить токен запустив скрипт из Power BI не получится, т.к. при запуске из RStudio рабочей папкой является "мои документы", при запуске из Power BI другая директория.
После чего токен сохранится в указанную в аргументе TokenPath папку, и при запуске скрипта из Power BI будет подтягивать учётные данные именно из файла, запускать браузер больше не понадобится.
Так же обсуждение проблемы было на Facebook, доступно по ссылке, может там найдёте ответ.
Алексей, Такая же проблема с бесконечно загрузкой.
setwd("C:\Users\e.kasatkin\Documents\R\win-library\3.6")
library(ryandexdirect, lib.loc = "C:\Users\e.kasatkin\Documents\R\win-library\3.6")
авторизация под агентским аккаунтом
yadirAuth(Login = "***", TokenPath = "C:\Users\e.kasatkin\Documents\R\win-library\3.6")
список клиентов из агентского аккаунта
clientList <- yadirGetClientList(AgencyAccount = "***")
загрузка статистики из рекламных аккаунтов привязанных к агентскому аккаунту
stat <- yadirGetReport(ReportType = "ACCOUNT_PERFORMANCE_REPORT",
DateRangeType = "THIS_MONTH",
FieldNames = c("Date",
"Impressions",
"Clicks",
"Cost"),
AgencyAccount = "***",
Login = clientList$Login)
если брать код до загрузки статистики, то все отлично работает, но со статистикой увы нет(
есть какие-нибудь мысли?