GoogleDocsをPipeの入力テーブルとして使う

検索結果をRSSとして取得するというのはよくある。要するにニコ動なんだけど。しかしString Builderで入力データ作ってString Tokenizerで複数itemに分割というのは一覧性があまりよろしくない。とか思ってると、「GoogleスプレッドシートとYahooPipesで簡易CMSを作る」と言うのを見つけたので試しにやってみた。

  1. まずは、Google Docsスプレッドシートを作ってデータを入力。
  2. 画面右上の共有メニューから「共有設定」を選ぶ。ファイル設定画面が出てくるので「変更」をクリックする。出てきた公開設定オプションで「リンクを知っている全員」に変更する。
  3. 画面右上の共有メニューから(2011-10-23追記)UIデザインが変わってファイルメニューから「ウェブページとして一般公開」を選ぶ。公開するシートを選べるので変える必要があるなら変える。下のメニューから各形式のリンクが取得できる。取得する形式はatomとかRSSも選べるけど結局csvが使いやすい。リンクはhttpsになってるのでsを削っておく。Yahoo Pipeshttpsをサポートしていない。

という流れになる。このやり方は中々使い勝手が良い。複数の属性を持つitemを複数作るのは面倒なんだけどこれなら楽で良い。検索クエリとして使うからにはUTF-8などでエンコードしておく必要があるので、CSVのほうにエンコードされたテキストを書いておく。ちなみに、公開設定が「リンクを知っている全員」の場合は検索のインデックスに登録されないらしい。

当たり前だけど単なる文字列置換はGoogle Docsのほうが得意。IF関数だってあるし。blogのRSSをマージするだけならともかく、feedのurlを作るまでの道のりが長いようなのは、url作成までやってPipeに渡した方が速い。