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 Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

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