Spreadsheet使えば簡単で楽じゃない?」と思い、使ってみたら「いいじゃん!」と感動したのでメモ。準備ruby(2.6.3)あとGoogleアカウントを持っていて、GoogleDriveにアクセス・利用できるアカウントが必要です。GoogleDriveにrubyからアクセスする準備さっそくGoogleDriveにAPI経由でアクセスしてみたいと思います。pageにいきましょう。したら、まずは同意画面が表示されるので同意して先に進みます。次に、左上の「プロジェクトの選択」ボタンをクリックし、「新しいプロジェクト」をクリックします。適当なプロジェクト名が入力し、作成ボタンをクリックします。したらダッシュボードに遷移します。プロジェクトを作成リンクをクリックします。適当なプロジェクト名を入力して作成ボタンをクリックします。サイドバーの認証情報をクリックし、「認証情報を作成」ボタンをクリックし、OAuthクライアントIDという場所をクリックします。すると、まずは同意画面なるものを作ってくださいと表示されます。「同意画面を設定」ボタンをクリックします。適当なアプリケーション名を設定し、保存します。一度、認証情報から「認証情報を作成」ボタンをクリックし、「OAuthクライアントID」を選択します。アプリケーションの種類でその他を選択し、名前を適当に入力し、「作成」ボタンをクリックします。すると、クライアントIDとクライアントシークレットが表示されるので、それを控えておきます。次に、左上のメニューから、「APIとサービス>ライブラリ」をクリックします。利用するサービスを有効化する必要があるので、検索ボックスにDocsと入力し、検索してクリックします。「有効にする」ボタンをクリックします。Spreadsheetも使うので、おなじ手順で有効化しておきます。これでとりあえずダッシュボードでの作業は完了です。テスト動作用のデータを作っておくとりあえず動かしてみたいので、簡単なデータを作っておきます。5行くらいの適当なデータを入力して、シート名をlangにしました。rubyでアクセスしてみるとりあえず、rubyでGoogleDocsにアクセスしてみます。さきほど控えておいたクライアントIDとクライアントシークレットをconfig.jsonに保存します。"YOUR_CLIENT_SECRET"}で、適当にrubyを書いていきます。gemはgimite/google-drive-rubyを使います。sample.rbで、コードの中にファイルをidで指定しないといけないのですが、idはurlの/d/以降がidになっています。今回だと1dEZfACTlELSH-jAi3ggMqUKE6eq7w0Z1SyCtoO0H5woの部分です。endendさっそく実行してみます。すると、こんな感じのurlにアクセスして認証してくれという表示がされるので、表示されたurlにアクセスしましょう。アカウント選択すると、このアプリは確認されていませんと表示されますが、「詳細」を押して、「アプリ名(安全でないページ)に移動」をクリックします。いくつか許可を求めるポップアップが表示されるので、許可をクリックします。最後によくみる画面で許可をクリックします。すると、リフレッシュトークンが表示されるので、それをターミナルにコピペします。XXXXXXX"えいちてぃーえむえる""しーえすえす""じゃばすくりぷと""るびー""ごー"無事さっきのSpreadsheetの内容が表示されました😁リフレッシュトークンはconfig.jsonに保存されているので、今後は利用するライブラリが変わらない限りは認証なしで利用できます。"すいふと"sheet.saveすいすい書き込みできます。これでSinatraなりCLIツールなりで、シンプルな簡易DBとして利用できますね🎉gimite/google-drive-rubyのREADMEなど見ると、ファイルアップロードなどにも対応しているので、他にも便利な使い方ができそうです。今回のコードも一応GitHub(t4traw/google_spreadsheet_db_sinatra)にプッシュしておきます。言語仕様からテスト駆動開発・デバッグ技法まで。