mixi Developer Center (ミクシィ デベロッパーセンター)

mixiアプリ

mixiアプリ » mixiアプリGraph API方式への移行手順 » RESTful API方式からGraph API方式への移行ガイド

RESTful API方式からGraph API方式への移行ガイド

※2014年11月27日より、RESTful API方式のご提供が再開されております。このためRESTful API方式からGraph API方式への移行は必須ではありません。

RESTful API方式からGraph API方式へmixiアプリを移行するにあたり留意すべき主なポイントは次となります。
  • スタートURLの指定方法
  • OwnerとViewerの統一
  • 起動時パラメータ
  • ユーザ認可
  • GraphAPI
  • 各機能について(APIなど)
  • ライフサイクルイベント
それぞれについて以下に記載します。

スタートURLの指定方法

RESTful API方式では、GadgetXMLを利用してコンテンツを指定していましたが、Graph API方式ではPartnerDashboardからスタートURLを登録するだけで行えます。GadgetXMLは必要ありません。
詳細はスタートURLの登録(Graph API方式/PC)をご参照ください。

OwnerとViewerの統一

RESTful API方式においては、mixiアプリの持ち主である「Owner」と、mixiアプリを利用するユーザ「Viewer」の区別がありましたが、Graph API方式のアプリでは常にOwner=Viewerとして、事実上Ownerの概念を廃止しました。
これにより、友人情報を取得するときに考慮しなければならないパーミッションマトリクスが、よりシンプルなものとなりました。

起動時パラメータ

ユーザ情報を保持するような多くのアプリでは、opensocial_owner_idを用いてユーザを識別します。
RESTful API方式では起動時よりopensocial_owner_idがパラメータ送信されていましたが、Graph API方式においては、ユーザ認可を経なければ取得できません。取得にはr_profileスコープの認可が必要となります。
詳細は起動時のパラメータ(Graph API方式/PC)をご参照ください。
この変更にともなって、Graph API方式のアプリでは、ユーザがアプリを初期登録したときに、ユーザ認可が同時に行われるような実装が必要となってくるでしょう。
ユーザ認可処理はユーザ認可APIを用いて簡単に実装できます。次項にて記載します。

ユーザ認可

RESTful APIは、ゲーム開始時にすべてのユーザー同意をとっているため、アプリ内では特別な認可を取る必要はありませんでした。
しかし、Graph APIを利用するには、各APIごとに決められたスコープをユーザが必要に応じて認可しなければなりません。
ユーザ認可は、JavaScript APIで提供されるユーザ認可APIを用いて簡単に実装することができます。
また、基本的なユーザ情報を取得するのみであれば、ダイアログを表示することなく認可させることも可能です。
詳細は ユーザ認可について(Graph API方式/PC)をご参照ください。Graph API方式認可に関する補足説明も併せてご参照ください。

Graph API

Graph APIにはRESTful APIにはなかったさまざまなAPIが用意されています。例えば、つぶやきの投稿・取得を行えるVoice API、日記の投稿・取得を行えるDiary API、mixiチェックを行えるCheck API といったものです。
これらを用いれば、RESTful API方式のアプリでは実現できなかった、創造性と楽しさに溢れるアプリをスムーズに開発することができるでしょう。
詳細はmixi Graph APIをご参照ください。

各機能について(APIなど)

RESTful APIで提供されていた各種機能について、Graph API方式に移行した場合に実装方法の改修が必要となるものもあります。
RESTful API方式とGraph API方式の対応を以下に記します。

備考欄が ※1の機能は、Graph API方式においてJavaScript APIの利用準備を行い(モバイル除く)、必要なスコープを認可していれば、RESTful API方式と同じ形式で呼び出すことが可能です。
Graph API方式に移行しても、RESTful APIのConsumer Secretを課金APIにて継続して使用しますのでご注意ください。

PC

機能RESTful API方式Graph API方式備考
ユーザ情報、友人情報を扱う

【JavaScript API】
・Person & Friends API

【RESTful API】
Person & Friends API

【Graph API】
・People API
JavaScript API および RESTful API から Graph API への移行が必要
リクエスト削除 【RESTful API】
・リクエスト削除API

【Graph API】
リクエスト削除API

RESTful API から Graph API への移行が必要
永続化情報を共有する 【JavaScript API】
・Persistence API
【Graph API】
・Persistence API
JavaScript API から Graph API への移行が必要
フォトアルバム(取得) 【JavaScript API】
・Albums API
【Graph API】
・Photo API
JavaScript API から Graph API への移行が必要
フォトアルバム(アップロード) 【JavaScript API】
・フォトアップロードAPI

【JavaScript API】
・フォトアップロードAPI

【Graph API】
・Photo API
での実装も可

※1
アクティビティを送信する 【JavaScript API】
・Activities API
【JavaScript API】
・アクティビティAPI
※1
友人を招待する 【JavaScript API】
・招待API
【JavaScript API】
・招待API
※1
コミュニティ情報を扱う 【JavaScript API】
・Community API
×
メッセージを送信する 【JavaScript API】
・メッセージ送信API

【JavaScript API】
・メッセージAPI

【Graph API】
・Message API
での実装も可

※1
表示領域について調整する 【JavaScript API】
・表示領域調整API
【JavaScript API】
・表示領域調整API
※1
課金 【JavaScript API】
・課金API
【JavaScript API】
・課金API

(※RESTful APIのConsumer Secret を使用)
※1

モバイル

機能RESTful API方式Graph API方式備考
ユーザ情報、友人情報を扱う

【RESTful API】
Person & Friends API

【Graph API】
・People API
RESTful API から Graph API への移行が必要
永続化情報を共有する 【RESTful API】
・Persistence API
【Graph API】
・Persistence API
RESTful API から Graph API への移行が必要
フォトアルバム(取得) 【RESTful API】
・Albums API
【Graph API】
・Photo API
RESTful API から Graph API への移行が必要
リクエスト削除 【RESTful API】
・リクエスト削除API
【Graph API】
・リクエスト削除API
RESTful API から Graph API への移行が必要
アクティビティを送信する 【UserFlowAPI】
・Activity API
【UserFlowAPI】
・Activity API
※1
フォトアルバム(アップロード) 【UserFlowAPI】
・Photo API

【UserFlowAPI】
・Photo API

【Graph API】
・Photo API
での実装も可

※1
友人を招待する 【UserFlowAPI】
・Invite API
【UserFlowAPI】
・Invite API
※1
リクエスト 【UserFlowAPI】
・Invite API
【UserFlowAPI】
・Invite API
※1
位置情報を取得 【UserFlowAPI】
・Location API
【UserFlowAPI】
・Location API
※1
メッセージを送信する 【UserFlowAPI】
・Message API

【UserFlowAPI】
・Message API

【Graph API】
・Message API
での実装も可

※1
課金 【UserFlowAPI】
・課金API
【UserFlowAPI】
・課金API

(※RESTful APIのConsumer Secret を使用)
※1

スマートフォン

機能RESTful API方式Graph API方式備考
ユーザ情報、友人情報を扱う 【RESTful】
・Person & Friends API
【Graph API】
・People API
RESTful API から Graph API への移行が必要
リクエスト削除 【RESTful】
・リクエスト削除API
【Graph API】
・リクエスト削除API
RESTful API から Graph API への移行が必要
友人を招待する 【UserFlow API】
・Invite API
【JavaScript API】
・招待API
※1
アクティビティを送信する 【UserFlow API】
・Activity API
【JavaScript API】
・アクティビティAPI
※1
リクエスト 【UserFlow API】
・リクエストAPI
【JavaScript API】
・リクエストAPI
※1
メッセージを送信する 【UserFlow API】
・メッセージ送信API

【JavaScript API】
・メッセージAPI

【Graph API】
・Message API
での実装も可

※1
外部サイトへ誘導する 【UserFlow API】
・ExternalNavigateTo API
【JavaScript API】
・ExternalNavigateTo API
※1
ボイス投稿 【UserFlow API】
・ボイスAPI

【JavaScript API】
・ボイスAPI

【Graph API】
・Voice API
での実装も可

※1
課金 【UserFlow API】
・課金API
【JavaScript API】
・課金API

(※RESTful APIのConsumer Secret を使用)
※1

ライフサイクルイベント

ライフサイクルイベントについてはGraph API・RESTful API間で相違はありません。
詳細はライフサイクルイベント(Graph API方式をご参照ください。

このページの上部へ