Rails(Ruby)アプリからスプレッドシートに書き込み


GCP側のでやること

GCPのコンソール(https://cloud.google.com)から、
・「Google Drive API」と「Google Sheets API」を有効化

・OAuth Client ID取得

注意:WEBとかiOSとかではなく、「Other」を選ぶ

Rails(Ruby)側

gemを追加

Gemfile
gem 'google_drive'

認証情報を記載するconfig.jsonを作成

touch config.json
config.json
{
  "client_id": "xxxxxxx-xxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
  "client_secret": "xxxxxxxXXxxxxxxxxxxxxxxxxx"
}

キーからスプレッドシートを取得。スプレッドシートのURLのうち、https://docs.google.com/spreadsheets/d/xxxこのxxxの部分がスプレッドシートのキーになる。

require "google_drive"

session = GoogleDrive::Session.from_config("config.json")
sheet = session.spreadsheet_by_key("xxxxxxxxxxxxxxxxxxxxxxxxxxx").worksheets[0]

# 書き込み
sheet[1,1] = "From API"
sheet.save

実行すると、認証が始まるので表示されるURLに対象アカウントでログインして認証。

書き込まれるかどうか確認