携帯電話で Android アプリ R プログラミング コンパイラ ( https://play.google.com/store/apps/details?id=com.krazeapps.rprogrammingcompiler&hl=en_GB&gl=US ) を使用して動作するコードを作成しようとしています。を使用して既存の Google シート ファイルにデータ フレームを挿入しますgooglesheets4
。R プログラミング コンパイラは、対話型プログラムをサポートしないバッチ コンパイラです。RStudio を使用gs4_auth()
し、指定された事前承認済みの電子メール アドレスのリストから入力する番号を選択するだけです。次に、既存のファイルの URL を使用sheet_write()
して、データ フレームを書き込むことができます。パッケージを初めて使用したときに、さらに多くの手順を実行する必要があったかどうかは覚えていません。
このアプローチは、インタラクティブ セッションをサポートしていないため、私の電話では機能しません。gs4_auth()
とのドキュメントを調べてみましたが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 要件)?