シェルスクリプトでGドライブにファイル保存

以下は、Google ドライブ APIを使用してシェルスクリプト内でファイルをアップロードするサンプルスクリプトです。このスクリプトでは、curlコマンドを使用してHTTPリクエストを送信し、OAuth 2.0トークンを使用して認証します。

Bash

#!/bin/bash

# Google ドライブ APIの認証情報
CLIENT_ID="YOUR_CLIENT_ID"
CLIENT_SECRET="YOUR_CLIENT_SECRET"
REFRESH_TOKEN="YOUR_REFRESH_TOKEN"

# アップロードするファイルのパスとGoogle ドライブ上の保存先フォルダのID
FILE_PATH="/path/to/your/file"
FOLDER_ID="YOUR_FOLDER_ID"

# Google ドライブ APIのエンドポイント
API_ENDPOINT="https://www.googleapis.com/upload/drive/v3/files?uploadType=media"

# リクエストヘッダーに含める認証情報
AUTH_HEADER="Authorization: Bearer $(curl -s -X POST \
  -d "client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&refresh_token=$REFRESH_TOKEN&grant_type=refresh_token" \
  https://www.googleapis.com/oauth2/v4/token | jq -r '.access_token')"

# ファイルをアップロード
curl -X POST \
  -H "$AUTH_HEADER" \
  -H "Content-Type: application/json" \
  -d "{\"name\": \"$(basename "$FILE_PATH")\", \"parents\": [\"$FOLDER_ID\"]}" \
  --upload-file "$FILE_PATH" \
  "$API_ENDPOINT"

このスクリプトでは、以下の手順に従います。

  1. Google ドライブ APIの認証情報(クライアントID、クライアントシークレット、リフレッシュトークン)を設定します。
  2. アップロードするファイルのパスと、Google ドライブ上の保存先フォルダのIDを指定します。
  3. Google ドライブ APIのエンドポイントを設定します。
  4. OAuth 2.0トークンを取得し、リクエストヘッダーに含めます。
  5. curlコマンドを使用して、ファイルをアップロードします。必要な情報(ファイル名、親フォルダのID、ファイルの実際のデータ)をリクエストボディに含めます。

このスクリプトを適切に設定し、実行すると、指定したファイルが指定したフォルダにアップロードされます。

タイトルとURLをコピーしました