Google Baseをさわってみた

GoogleBaseで武器屋 - ドラゴンクエストがおもしろかったので真似してみたんだけどいろいろはまった。

アカウント取得

gmailのアカウントがそのまま使える。

独自タイプの登録

Products, Reviews, Jobsとかいろいろあるんだけど既存アイテムタイプに合うものがなければ独自アイテムタイプを登録できるようなので登録しようとすると"We do not allow this entry."となる。

何いれてもダメな感じだったので、試しに日本語の名称にすると通る。ドラクエの"武器"も日本語でした。

独自アトリビュートの登録

独自アトリビュート追加できるんだけどtest_attributeとかにするとmisspelledといわれる。

何パターンかやってみて、アンダースコア入ってるとダメで、実際辞書に存在しない単語にしようとすると怒られているような印象。foobarは通るんだけどfoobarbazはダメなのはどうなんだろうと思ったけど。

TSV, feed(RSS,Atom)ファイルをアップロードしてその中に書いてあるアイテムを登録することもできる(Google Base Help Center - Custom item types)ので少し試してみたけどこちらも同じようなルールでチェックしてる。

linkに適当なページを入れるとlink絞込みで検索できない

google baseに登録できるリンクを含むアイテムの条件としてそのページに普通に到達できること、というのがあって、試験的にgoogle.comとかでもいいかなーと思ってやってみたんだけどこれだとアトリビュートでの絞込み検索の対象としてもらえない。google base側でサイトオーナが登録していると認識したものは検索対象になるみたい。

Google BaseへのAPI経由での登録

perlだとWWW::Google::API::Baseで簡単にできる。ブラウザから手動登録したときははじかれたアンダースコアが入っているような独自アトリビュートも登録できた。
登録してすぐには検索対象にならなくて、"Published... searchable soon"となっている。

で一時間くらい?すると一度検索対象になるんだけどその後また"Published... searchable soon"になる時期がある。一日くらい待つと完全に検索対象になった。
注意しないといけないのが(少なくとも)Productsだと30日経過するとdeactivateされて検索対象から外されるようなのでそのときにactivateする必要がある。自分のアイテムを管理するdashboard画面からdeactivate/activateできる。変なアトリビュートで手動登録しようとしてエラーになったものもinactive itemsのリストに入っていた。

Getting Started - Google Base Data API - Google Code

feed/json

jsonpあるので検索クライアントがつくれる。linkアトリビュートで自分のドメインに絞り込んで自分が登録したアイテムだけ検索とか。

JavaScript Tutorial - Google Base Data API - Google Code