PR

mixiアプリを動かしてみよう(応用編)

2010年9月29日(水)
森 和之

外部と連携しよう

mixiアプリではJavaScriptで動くため、外部ドメイン制約を超えたデータを取得するのに便利なgadgets.io.makeRequestというAPIが用意されています。makeRequestは、普通のAjax通信とは異なり、どんなドメインのデータも取得出来、メソッドもGET/POST/PUT/DELETEすべてをサポートしており、レスポンスもTEXT/DOM(HTML)/FEED/JSONと幅広く解釈出来るため非常に強力です。署名も付与出来るため、本当にmixiのコンテナを経由したことを証明出来、ユーザーIDの改ざんを防ぐことが出来ます。

makeRequestを使ってはてなブックマークのhotentryのRSSを取得するコードは以下のとおりです。

ここで重要なのはgadgets.io.makeRequest関数です。外部のコンテンツを取得するには、urlと取得する時の設定を用意しておいてmakeRequest関数を呼び出すだけです。

gadgets.io.makeRequest(url, callback, opt_params)

第1引数にはurlを文字列で指定します。第2引数にはコールバック関数を指定します。コールバック関数の引数にはmakeRequestの結果が入っています。第3引数にはgadgets.io.RequestParametersをキーに持つObject(hash)を指定します。ここではCONTENT_TYPEにFEEDを、NUM_ENTRIESに10を指定しています。

署名の検証は今回は解説しません。詳しくは以下のページを参考にしてください。

詳細情報:mixi Developer Center「外部サーバを呼び出してみよう」

mixiの独自APIを使ってみよう

コミュニティは、ユーザーの所属や属性、そして関心のある分野など様々な情報を含みます。このコミュニティという機能はOpenSocialでは定義されていませんが、mixi独自のAPIとして提供されています。mixi独自APIは他にもありますが、今回はコミュニティの情報を取得してみましょう。viewerの所属しているコミュニティの一覧を取得するコードは以下のとおりです。

コミュニティを取得するにはmixi.newFetchCommunityRequestを使います。今までと違って、opensocialというnamespaceではなく、mixiのnamespaceであることに注意してください。これをnewFetchPersonRequestと同じようにDataRequestにaddして取得します。

Object newFetchCommunityRequest(id, opt_params)

第1引数には取得する対象を、第2引数は省略します。

詳細情報:mixi Developer Center「コミュニティ情報を取得しよう」

株式会社ミクシィ

パートナーサービス部 第1プラットフォーム開発チーム
1985年生まれ。2007年に株式会社ミクシィの最初の新卒として入社。Find Job !の開発を半年間経験したのち、mixi開発グループに移動。mixiアプリのプロジェクトの立ち上げから開発を担当し、以降現在までmixiアプリ及び mixi Platformの開発をしている。

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています