2009年10月21日水曜日

Googleの「Table」を使ったブログ投稿一覧

※補足:文章にまとめる能力が枯渇しているため、非常に読みづらいです。Google Visualization API」がすごいと聞いたので、
せっかくだからと投稿一覧を表示してみることにしました。
実際に使用したのは、「Google Visualization API」のTableです。
以下を参考にしました。


まずは、できあがったものですね。
ほるメモいんぶろ - 投稿一覧
ブラウザ内に文字が大量に表示されるので、
文字羅列アレルギーの方は注意して下さい。

内容としては、先日iPhone用の一覧を作成した時にまとめた、
【まずはBloggerAPIで投稿一覧表示】
【iPhone Blogger投稿一覧に更新日表示】
を、バージョンアップしたような感じになります。


忘れそうになるので、「Blogger API」から取得出来るデータをまとめます。
基本的には、Google GData APIの「google.gdata.blogger」にあるものは、
全て取得出来るはずです。
ただ、試してみた時に取得出来ないもの(カテゴリなど)もありました。
それに関しては、ただ単に僕が把握しきれていない上、
記述ミスの可能性もあるので、一概にそうとは言い切れません。
今回取得出来たデータは以下の様なものです。
  • getUpdated().getValue().getDate(); :更新日時
  • getTitle().getText(); :投稿タイトル
  • getHtmlLink().getHref(); :投稿アドレス
  • getContent().getText(); :投稿内容
上の項目で取得出来る更新日時について。 iPhone用一覧を作成した時に、更新日時を日本風に書き換えましたが、 IEではうまく処理されずに、 「23:52:20/09/30(水) UTC+0900」のような不思議なカタチになります。 それは、ブラウザごとの更新日時の取得内容が異なるためです。 iPhone,Safali,Firefoxなどの、 「Tridentエンジン」を使用していないブラウザの場合は、 「Sat Oct 17 2009 22:34:27 GMT+0900」と取得し、 IEでは「Sat Oct 17 22:34:27 UTC+0900 2009」というように、 項目を取得する順番が入れ替わってしまいます。 対処は・・・どうしようかなぁ。 するなら、ブラウザ判別して処理を分けるぐらいしか思いつかないです。 取得した投稿内容について。 iPhoneのあれの時には使用していませんでしたが、 実はリファレンスをちゃんと読めば載っていたんですね。 ひとまず引っ張ってくることには成功しましたが、問題点が。 HTMLで戻ってくるのは嬉しいのですが、 <pre></pre>で囲って投稿を書いているおかげで、 各行に改行が挿入されないのです。 その結果、改行要素が含まれるタグ以外では改行されずに、 横に長々と文章が表示されるようになります。 ページ内で表示する際には、途中で折り返す処理が必須になります。 「Table」の初期ソートについて。 参考元サンプルをそのまま使うだけでは、 初期表示の際にどの列もソートされていない状態です。 初期表示の際にソートする場合には、 テーブル領域にデータを反映する際にパラメータを渡すことで行えます。
visualization.draw(data,
       {showRowNumber: true
        , sortColumn:0
        , sortAscending:false
        , cssClassNames: {
          tableCell: 'myVtd',
          headerCell: 'myVhtd'
        }
      });
これに関しては、以下のドキュメントに詳しく書かれています(英語)。 Visualization: Table - Google Visualization API - Google Code

0 件のコメント:

コメントを投稿