私のアイデアは、Googleシートを作成し、それを公開してから、仕事用コンピューターlinux/bashからアクセスして、毎日値を読み書きすることです。
誰でも検索/編集できる公開のGoogleドキュメントシートがあります。これはシートIDです:1F6jh6756xNDlDYIvZm_3TrXb59EFEFHGEC7jdWz-Nx0
本でそれをやって https://developers.google.com/sheets/api/samples/reading
curl 'https://sheets.googleapis.com/v4/spreadsheets/1F6jh6756xNDlDYIvZm_3TrXb59EFEFHGEC7jdWz-Nx0/values/Sheet1!A1:A3'
戻り値:
{
"error": {
"code": 403,
"message": "The request is missing a valid API key.",
"status": "PERMISSION_DENIED"
}
}
ここで特に多くのことを読みました Google Sheet API v4 複雑な解決策を見つけました。短い1時間でパブリックシートにアクセスする場合です。
https://developers.google.com/oauthplayground/ を参照して、v4 apiの認証を取得し、「認証コード」を取得してから、「トークンの更新」、最後に「アクセストークン」を取得します。
この「アクセストークン」を使用すると、次のように公開シートにアクセスできますcurl 'https://sheets.googleapis.com/v4/spreadsheets/1F6jh6756xNDlDYIvZm_3TrXb59EFEFHGEC7jdWz-Nx0/values/Sheet1!A1:A3' -H "Authorization: Bearer ya29.GlvaBLjrTdsSuSllr3u2nAiC-BOsjvIOE1x5afU3xiafB-FTOdLWDtfabuIMGF1rId5BsZxiTXxrx7VDEtxww4Q1uvW9zRndkfm3I2LZnT1HK2nTWzX_6oXu-NAG"
戻り値:
{
"range": "Sheet1!A1:A3",
"majorDimension": "ROWS",
"values": [
[
"a1"
],
[
"a2"
],
[
"a3"
]
]
}
完璧です。理論的には、「アクセストークン」は1時間後に期限切れになり、「リフレッシュトークン」は期限切れになりません。そのため、トークンを保存し、「アクセストークン」でシートを読み取ろうとします。失敗した場合は、「リフレッシュトークン」を使用して新しい「アクセストークン」を取得して続行します。
しかし、私は数十個の「更新トークン」が引き換え/期限切れになり、「認証コード」が期限切れになり、数時間後には何も機能しません。どうして?
この種の認証なしでカールしてGoogleシートフォームbashにアクセスするにはどうすればよいですか?特に私のシートは公開されており、ブラウザを使用して誰でも編集できるためです。
他の永続的な承認でこれを行う別の方法はありますか?なぜ電子メールを使用してパスしないのですか?
「APIキー」は記載されていますが、説明されていません。誰かがこの方法を段階的に説明できますか?
すべてのGoogle APIでは、公開データにアクセスする場合でも、[Google開発者コンソール 1 でプロジェクトを作成し、自分とアプリケーションを識別する必要があります。シートを公開に設定したので、 google developer console に移動して、公開APIキーを作成するだけで、GoogleシートAPIをアクティブにすることを忘れないでください。次に、リクエストのパラメーターとしてkey = [YourKey]を追加します。
開発コンソールの更新:
プロジェクトを作成してキーを取得します。
Google開発者コンソール ->プロジェクトを作成する-> 資格情報 ドロップダウン-> APIキー
有効にします:
Google開発者コンソール -> ライブラリ シート検索で有効にします。
更新:
{"エラー":{"コード":403、 "メッセージ": "リクエストに有効なAPIキーがありません。"、 "ステータス": "許可_拒否"}}
Googleで自分を特定していないことを意味します。 2015年のGoogleスタートでは、Google APIを使用することはできません。GoogleAPIを使用することはできません。それには、[Googleデベロッパーコンソールでプロジェクトを作成します 1 。 APIキーを作成し、すべてのリクエストでそのAPIキーを使用します。これは、パブリックデータでのみ機能します。
注:プライベートユーザーデータでは、OAuthを使用し、access_token = your tokenを使用するか、ヘッダーを設定する必要があります。
許可:Bearer ya29.GlvaBLjrTdsSuSllr3u2nAiC-BOsjvIOE1x5afU3xiafB-FTOdLWDtfabuIMGF1rId5BsZxiTXxrx7VDEtxww4Q1uvW9zRndkfm3I2LZnT1HK2nXWXGNA.
アクセストークンはAPIキーとは異なります。