Googleスプレッドシートをjsから読み書きしてみた
Googleスプレッドシート奮闘記
ゴール:Googleスプレッドシートを簡易で読み書きできるアプリ作成
実装方針:
大きく分けるとこんな感じ。
1. Googleスプレッドシートの値をJSONで取得
まずは取得したいスプレッドシートをweb公開しておく。(ファイル→WEBに公開...)
スプレッドシートの値をJSONデータで取得するには、以下を叩けばいいみたい。
ここで、
- key
- worksheetId
を調べる。
◆keyの取得
keyはスプレッドシートを開いた時のURLを参照すればすぐに分かる。
◆worksheetIdの取得
問題なのはworksheetIdのほう。
文献読んでもようわからん(笑)
いろいろ調べた結果、とりあえず下記のスクリプトをGAS側に仕込んで実行後、ログ確認でシートごとのworksheetIdの取得に成功!
worksheetIdを調べたいスプレッドシートから、
ツール→スクリプトエディタ→下記コードを張り付けして実行→ログ表示
◆JSONデータ取得
上記方法で調べ終わったら、あとはjs側から下記みたいに叩いて処理してやればOK。
entryとか、JSON覗くとデータまとまって受け取れてることが確認できる。
参考:
GoogleスプレッドシートのデータをJSONで取得してみた | アライドアーキテクツのクリエイターブログ
GoogleSpreadSheetのgidが分からなすぎだった件がある程度解決できたのでまとめてみたメモ。2015年1月版。 - Qiita
2. GASでGoogleスプレッドシートにPOSTで書き込み
まずはGoogleスプレッドシート側でPOSTを受け取って、シートに書き込みスクリプトを用意しておく。
上記を対象のスプレッドシートのGAS側に記述→ウェブアプリケーションとして公開
公開後、最新のコード確認というリンクが表示されるので、押下すると対象のページに飛ぶのでそこのURLをコピっとく。
こんな感じのやつ
あとはjs側で、上記のURLにPOSTするフォームを作成する
今回だと外部においたjsからのアクセスを想定しての実装だったのでいろいろゴニョゴニョしたけど、
実際GAS側にhtmlファイル作れたりもするのでそっちのほうが楽にできるかも。
そのへんに関しては下記ページなど、調べればでてきますんで、また次回(あれば)
http://webos-goodies.jp/archives/build_a_webapp_with_google_apps_script.html