Неинтерактивная аутентификация для googlesheets4 с использованием пути json - PullRequest
0 голосов
/ 06 августа 2020

Хотя это не мой основной язык, я использую R для публикации результатов ежедневного ETL в листе Google Sheets. Поскольку это будет запланированное задание, которое будет выполняться вечно, я не решаюсь использовать интерактивный поток для аутентификации Google Диска из R. У меня есть путь для моего JSON из учетных данных моей учетной записи Google Диска, но когда я прохожу

gs4_deauth()
gs4_has_token()
gs4_auth(email=<email-string>, path = jsonlite::fromJSON(<path-to-json>), cache = NULL)

выдает следующую ошибку:

[1] FALSE
Error: Can't get Google credentials.
Are you running googlesheets4 in a non-interactive session? Consider:
  * `gs4_deauth()` to prevent the attempt to get credentials.
  * Call `gs4_auth()` directly with all necessary specifics.
See gargle's "Non-interactive auth" vignette for more details:
https://gargle.r-lib.org/articles/non-interactive-auth.html
Execution halted

Поскольку в сообщении об ошибке нет подробностей, мне интересно, есть ли у кого-нибудь опыт работы с этим или есть идеи, почему это могло происходить? Я использую gs4_deauth (), потому что изначально я входил в систему, используя интерактивный поток, но теперь хочу убедиться, что неинтерактивная аутентификация работает.

Кстати, какой наименее болезненный способ создать объект-токен из файла учетных данных json? Я считаю, что это может быть проще, чем многократно передавать учетные данные json напрямую с использованием аргумента path.

...