スキップしてメイン コンテンツに移動

OpenSocialからGoogle SpreadSheetを操作する

OpenSocialからGoogle SpreadSheetを操作したかったのですが、残念ながらまだSpreadSheetはガジェットからのOAuth認可に対応していない様です。(iGoogleガジェットで確認)
認可画面では、なぜかGoogleDocsが表示され、認可ボタンを押してみてもSpreadSheetのFeedにはアクセスできません。

しかし、Google DocumentList APIのガジェットからのOAuth認可では、ほとんどの機能が使えるようです。

そこで今回は、DocumentListから、SpreadSheetの新規作成&Updateをすることで利用することにしました。読み出しは、javascriptなどで簡単に行う方法がありますね。削除はまだ確認していません。

簡単にメモ書きになりますが、DocunmentList APIでファイル一覧を取得してもetagが取得できません。そこで、update時には、If-Match:*としました。

また、updateはPUTで送る必要がありますが、gadget.io.makeRequestでPUTやDELETEの対応状況はコンテナによる、となっています。幸いPUTを送ることはできましたがiGoogleコンテナのサポート状況は事前にどこにも書いてないみたいで心臓に悪いです。

以下のURLは新規作成についてのみですが参考になりました。ClientLoginから、XMLとtext/csvの混在するリクエストを送っています。
Create a new Google Docs Spreadsheet from content using AJAX

シートを分けたり関数を使ったりといった高度なことはできないですが、最低限のデータの新規作成・一括になりますが上書き・読み ができるので、javascriptだけでアクセスできるWeb上の記憶領域として利用できそうです。