mixiアプリ » 技術仕様(Graph API方式) » スマートフォン » メッセージ送信機能について
メッセージ送信機能について
mixiアプリを利用しているユーザが他のユーザに対して、メッセージを送信するための機能です。メッセージ送信機能を使うことで、mixiアプリの利用者にメッセージを入力するためのポップアップ画面を表示し、送信したい内容を入力してもらうことになります。そして、ユーザが送信ボタンを押すと、そのメッセージは送信相手の受信箱に届きます。
mixiアプリならではの機能として、単にメッセージをユーザに入力してもらうだけでなく、mixiアプリ固有の情報をそのメッセージに含めることが可能です。具体的には、絵文字や外部サイトへのURL、mixiアプリを起動するためのURLなどを含めることができます。
メッセージAPI利用の事前準備
メッセージAPIを利用するには、以下の事前準備をしておく必要があります。
- JavaScript API で提供されていますので、JavaScript API の利用準備を行っておく必要があります
-
利用には mixi_apps2 スコープのユーザ認可を取得しておく必要があります
ユーザ認可の方法についてはユーザ認可についてをご参照ください
メッセージの送信
実際のメッセージ送信は、以下の手順に従って行います。
1. Messageオブジェクトの生成
まず、メッセージを送るために、以下の情報を決定します。
recipients | 送信相手のユーザID(配列で複数指定可能) |
---|---|
title |
件名として初期表示する文字列
|
body |
ユーザが入力するメッセージとは別に本文に追加したい固定本文
|
これらのパラメータから、opensocial.newMessage()関数を使用して、Messageオブジェクトを生成します。
var params = {}; params[opensocial.Message.Field.TITLE] = title; var msg = opensocial.newMessage(body, params);
newMessage()関数の第1引数に本文を、第2引数にパラメータオブジェクトを指定します。
2. requestSendMessage()関数の呼び出し
生成されたmsgオブジェクトの内容をメッセージ送信するには、opensocial.requestSendMessage()関数を使用します。
var recipients = ["xxxxxxxx", "yyyyyyyy"]; opensocial.requestSendMessage(recipients, msg, function(response) { if (response.hadError()) { var code = response.getErrorCode(); // do something... } });
requestSendMessage()関数の第1引数に宛先となるユーザIDを、第2引数に先ほど生成したMessageオブジェクトを、第3引数にコールバック関数を渡します。requestSendMessage()関数の呼び出し直後に、ユーザにメッセージ本文を入力させるためのポップアップ画面が表示されます。
ユーザがメッセージを送信した後、もしくは「やめる」ボタンを押した後に、コールバック関数が呼び出されます。その引数はopensocial.ResponseItemオブジェクトです。これのhadError()関数およびgetErrorCode()関数を使用して、適切なエラー処理を実装してください。以下に、発生する可能性のあるエラーコードを示します。
エラーコード | 発生する状況 |
---|---|
401 | mixi_apps2スコープのユーザ認可を取得していない |
403 |
ユーザがキャンセルした Viewerがアプリを保持していない 送信相手からアクセスブロックされている |
404 |
パラメータが不正 あて先に指定したユーザが存在しない |
500 | mixiサーバでの内部エラー |
なお、メッセージ送信APIを利用したユーザへのメッセージ送信は、mixiが従来よりご提供しておりますメッセージ送信機能と同等の仕様が適用されます。つまり、自分自身へのメッセージ送信、またはパートナーアカウントでのメッセージ送受信などは行うことができません。