mixiアプリ » 技術仕様(新方式) » モバイル » アクティビティの送信について
アクティビティの送信について
mixiアプリモバイルから、ユーザの行動を友人に対して通知するためのアクティビティを投稿することができます。そのためのAPIを、Activity APIと呼びます。ここでは、Activity APIの利用方法について紹介します。
ユーザ認可の取得
コミュニケーションフィード投稿機能を利用するためには、mixi_apps2スコープのユーザ認可を取得する必要があります。
詳しくは ユーザ認可について を参照ください。
アクティビティの種類
新方式のmixiアプリでは、mixiアプリから投稿可能なアクティビティは、コミュニケーションフィードのみになります。
| 種類 | 投稿条件 | 表示場所 |
|---|---|---|
| コミュニケーションフィード | ユーザが明示的に投稿を許可した場合にのみ投稿される |
home.pl new_appli.pl list_appli_activity.pl |
コミュニケーションフィードの投稿を行うためのAPIを呼び出した際に、そのまま投稿されるのではなく、ユーザに投稿を行ってよいかどうかを問い合わせるポップアップウィンドウが表示されます。そこでユーザが許可を行った場合にのみ、コミュニケーションフィードは投稿されます。その結果、投稿されたコミュニケーションフィードは、友人のhome.plにて表示されます。
コミュニケーションフィードの投稿方法
コミュニケーションフィードをmixiアプリモバイルにて投稿したい際には、formタグにてcreate:activityという記述を使用します。文字コードは Shift_JIS と UTF-8、メソッドはPOSTのみをサポートしています。具体的には、出力するコンテンツの内容として、HTMLのformタグが持つaction属性に以下のように記述します。
create:activity?callback=[エスケープ済みURL]
投稿したいコミュニケーションフィードの内容は、以下のパラメータを使って記述します。
| パラメータ名 | 意味 |
|---|---|
| callback |
投稿完了画面(*1)へ遷移するエスケープ済みURL(*2)を指定します。 *1 SAPサーバに用意していただく必要があります。 *2 QUERY_STRING に含める必要があります |
| title |
アクティビティの本文となる文字列です。 255文字までが有効になります。256文字目以降は切り捨てられますので、ご注意ください。 (絵文字指定は不可) |
| mobileUrl |
アクティビティの遷移先URLです。ユーザがリンクをクリックした際の遷移先を指定できます。 指定可能なURLは、次の2種類です。 アプリ実行URL: “http://ma.mixi.net/[アプリID]/” アプリ説明URL: “http://m.mixi.jp/view_appli.pl” アプリ実行URLに関しては、パラメータを渡すことも可能です。 例:”http://ma.mixi.net/[アプリID]/?url=http%3A%2F%2Fexample.com%2Ffoo” |
| url | アクティビティの遷移先URLです。PC対応アプリのみ指定可能で、ユーザがPCでアクセスした場合に利用されます。 |
| mediaItem1 |
画像のエスケープ済みURLおよびMIMEタイプをカンマ(,)区切りで指定します 例:”http%3A%2F%2Fexample.com%2Fimages%2Factivity.jpg,image/jpeg” mediaItem2, mediaItem3も指定することが可能です
※mediaItemsに指定する画像は、以下の条件を満たすようにしてください。
サイズ: 40×40ピクセル固定 |
| recipient1 |
宛先指定する場合のユーザIDを指定します。 recipient2も指定することが可能です。 |
また、ユーザがアクセスしている端末のキャリアがドコモの場合には、”guid=ON”パラメータも付加してください。以下に、コミュニケーションフィードを投稿するためのタグセットの例を記述します。
<form action="create:activity?callback=http%3A%2F%2Fserver.name%2Fcallback&guid=ON" method="POST" > <input type="hidden" name="title" value="Hello!" /> <input type="hidden" name="mobileUrl" value="http://ma.mixi.net/0000/" /> <input type="hidden" name="mediaItem1" value="http%3A%2F%2Fserver.name%2Fimg.gif,image/gif" /> <input type="hidden" name="recipient1" value="xxxxxxxx" /> <input type="submit" value="送信" /> </form>
ユーザが上記のフォームをサブミットした際には、コミュニケーションフィードを投稿してよいかどうかを問い合わせるページに遷移します。そこでユーザが投稿することを選択した場合は、mixiサーバ内でコミュニケーションフィード投稿処理が行われます。その後、callbackパラメータにて指定したURLのページに遷移します。その際、resultパラメータとして、処理結果を表すコードが返却されます。問題なく投稿できた場合は“success”、何らかの理由で失敗した場合は“failed”がresultパラメータ値となります。もし“failed”の場合は、errorパラメータにその理由が記載されます。
errorパラメータに渡される値と意味は、以下となります。
| エラーコード | 発生する状況 |
|---|---|
| 400 (BAD_REQUEST) | 不正なMediaItem指定、4つ以上のMediaItem指定、宛先の不正な指定、URLの不正な指定、認証情報が不正、取得対象IDが未指定 |
| 401 (UNAUTHORIZED) | mixi_apps2スコープの認可を保持していないとき |
| 403 (FORBIDDEN) | ユーザが[Skip]ボタンを押して投稿をキャンセルした |
| 500 (INTERNAL_SERVER_ERROR) | mixi側の内部エラー |