0

我正在尝试在我的手机( https://play.google.com/store/apps/details?id=com.krazeapps.rprogrammingcompiler&hl=en_GB&gl=US)上编写允许使用 Android 应用程序 R Programming Compiler 的代码我使用googlesheets4. R Programming Compiler 是一个不支持交互式程序的批处理编译器。在 RStudio 中,我使用gs4_auth(),然后我所要做的就是从给定的预授权电子邮件地址列表中选择要输入的数字。然后我可以使用sheet_write()现有文件的 url 将数据框写入。我不记得第一次使用该软件包时是否必须执行更多步骤。

这种方法不适用于我的手机,因为它不支持交互式会话。我已经尝试查看gs4_auth()and的文档gs4_config_auth(),但我对编程还是很陌生,对 API、令牌等一无所知,所以我无法使用文档弄清楚该怎么做。gs4_deauth()适用于read_sheet()但不适用于sheet_write().

该应用程序说它可以在运行代码之前接受输入,但我不知道如何正确使用该功能或​​输入应该是什么。我没有包含可重现的代码,但这是一个骨架版本:

library(googlesheets4)

gs4_deauth()

df <- read_sheet(file_url, sheet = 1)

# successful manipulations of df

df2 <- manipulated version of df

sheet_write(df2, file_url, sheet = "Sheet Name")

该应用程序然后吐出这个错误。

v Writing to "File Name".
v Writing to sheet 'Sheet Name'.
Error: Client error: (401) UNAUTHENTICATED
* Request not authenticated due to missing, invalid, or expired OAuth token.
* API keys are not supported by this API. Expected OAuth2 access token or other
  authentication credentials that assert a principal. See
  https://cloud.google.com/docs/authentication

Error details:
* reason: CREDENTIALS_MISSING
* domain: googleapis.com
* metadata.method:
  google.apps.sheets.v4.SpreadsheetsService.BatchUpdateSpreadsheet
* metadata.service: sheets.googleapis.com
Backtrace:
    x
 1. \-googlesheets4::sheet_write(...)
 2.   \-gargle::response_process(resp_raw)
 3.     \-gargle:::gargle_abort_request_failed(error_message(resp), resp)
 4.       \-gargle:::gargle_abort(...)
 5.         \-cli::cli_abort(...)
Execution halted

有什么我可以添加到我的代码中的东西,这意味着我可以在交互式会话之外运行此代码,如果是这样,我如何获取所需的信息然后将其放入我的代码中(例如 0Auth 令牌、其他 API 要求)?

4

0 回答 0