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

mixiアプリ

mixiアプリ » 技術仕様(Graph API方式) » PC » ユーザにメッセージを送信してみよう

ユーザにメッセージを送信してみよう

mixiアプリPC版では、アプリからユーザがメッセージを送信することを可能とする、メッセージ送信機能を提供しています。OpenSocialでは、JavaScript APIにてメッセージ送信を行うための機能を規定していますが、mixi Platformではこの規定に基づいた実装を行っています。ここでは、メッセージ送信機能を利用する方法について説明いたします。

できること

mixiアプリを利用しているユーザから、mixiアプリ上で他のユーザにメッセージを送信することができます。ここでのメッセージとは、mixiが提供しているmixiユーザ間のメッセージ送信サービスのことを指します。メッセージ送信機能を使うことで、mixiアプリの利用者にメッセージを入力するためのポップアップ画面を表示し、内容を入力してもらうことになります。その後、送信されたメッセージは、今までのmixiメッセージと同様に、送信相手の受信箱に届きます。

mixiアプリならではの機能として、単にメッセージをユーザに入力してもらうだけでなく、mixiアプリ固有の情報をそのメッセージに含めることが可能です。具体的には、絵文字や外部サイトへのURL、mixiアプリを起動するためのURLなどを含めることができます。例えば、グリーティングカードを送るmixiアプリであれば、送りたいカードをパラメータとして付与したmixiアプリ起動URLを作成してメッセージに含めることで、相手にカードを送ることが可能です。受け取ったユーザは、そのメッセージに含まれるURLをクリックすることで、素敵なグリーティングカードを目にすることでしょう。

メッセージAPI利用の事前準備

メッセージAPIを利用するには、以下の事前準備をしておく必要があります。

  • JavaScript API で提供されていますので、JavaScript API の利用準備を行っておく必要があります
  • 利用には mixi_apps2 スコープのユーザ認可を取得しておく必要があります
    ユーザ認可の方法についてはユーザ認可についてをご参照ください

APIリファレンス

メッセージを送信するために、以下の手順が必要となります。

  • opensocial.Messageオブジェクトを生成する
  • opensocial.requestSendMessage()関数を呼び出す
Messageオブジェクトの生成

まず、メッセージを送るために、以下の情報を決定します。

recipient 送信相手のユーザID
title 件名として初期表示する文字列
* 全角100文字以内
* 絵文字利用不可
body ユーザが入力するメッセージとは別に本文に追加したい固定本文
* 全角300文字以内
* 絵文字利用可
* アプリへのリンクなどを含めることが可能

これらのパラメータから、opensocial.newMessage()関数を使用して、Messageオブジェクトを生成します。

var params = {};
params[opensocial.Message.Field.TITLE] = title;
var msg = opensocial.newMessage(body, params);

newMessage()関数の第1引数に本文を、第2引数にパラメータオブジェクトを指定します。

メッセージの送信

生成されたmsgオブジェクトの内容をメッセージ送信するには、opensocial.requestSendMessage()関数を使用します。

opensocial.requestSendMessage(recipient, 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が従来よりご提供しておりますメッセージ送信機能と同等の仕様が適用されます。つまり、自分自身へのメッセージ送信、またはパートナーアカウントでのメッセージ送受信などは行うことができません。

このページの上部へ