拙著「上手に稼ぐカラ売りテクニック」が発売されました。
株価が下がる局面で利益を得ることができる「空売り」について、詳しく解説した本です。
自由国民社刊で、定価1,512円(税込)です。
Facebookアプリ開発に挑戦(その7・ウォールへの投稿)
アプリケーションから、ウォールにメッセージを投稿する機能が必要な場合もあります。
今日は、メッセージ投稿のダイアログボックスを表示して、ユーザーに投稿を促す方法を紹介します。
1.FB.ui関数
JavaScript SDKには、ダイアログボックスを開くための関数として、「FB.ui」があります。
この関数は、以下のような書き方をします。
FB.ui( { method: 'ダイアログの種類', ・ ・(その他のパラメータ) ・ }, function(response) { ダイアログの操作結果に応じた処理 } );
FB.ui関数の1つ目のパラメータには、ダイアログの種類や、そのダイアログで必要な各種のパラメータを指定します。
そして、2つ目のパラメータとして、ダイアログの操作結果に応じた処理を行うためのコールバック関数を指定します。
2.ウォール投稿のダイアログボックスを開く
ウォールに投稿するためのダイアログボックスを開くには、FB.ui関数に渡すダイアログの種類として、「feed」を指定します。
この他に、以下のリストのようにパラメータを指定します。
FB.ui( { method: 'feed', name: 'リンク先の名前', link: 'リンク先のアドレス', picture: '画像のアドレス', caption: 'キャプション', description: '概要', message: 'メッセージ' }, function(response) { ・ ・ダイアログの操作結果に応じた処理 ・ } );
各パラメータの内容は以下の通りです。
リンク先の名前 | メッセージのリンク先のページの名前 |
---|---|
リンク先のアドレス | メッセージのリンク先となるページのアドレス |
画像のアドレス | メッセージに添付する画像のアドレス |
キャプション | リンク先ページのキャプション |
概要 | リンク先ページの概要 |
メッセージ | メッセージ入力欄に初期値として入力される文字列 |
また、実際に表示されるダイアログボックスは、以下のようになります。
なお、この例では、画像のアドレスとして「http://fbrell.com/f8.jpg」を指定しています。
3.投稿されたメッセージの情報を得る
メッセージを投稿するか、投稿せずにダイアログボックスを閉じると、コールバック関数が実行されます。
メッセージを投稿した場合、コールバック関数のパラメータに、メッセージのIDの情報が入ったオブジェクトが渡されます。
メッセージのIDは、そのオブジェクトの「post_id」というプロパティで表されます。
post_idプロパティの値は、メッセージを投稿したユーザーのIDと、メッセージ自体のIDとを、「_」で結んだ文字列になります。
一方、メッセージを投稿せずにダイアログボックスを閉じた場合、コールバック関数のパラメータには何も渡されません。
これらのことから、コールバック関数を以下のように組むことで、メッセージが投稿されたかどうかに応じて、適切な処理を行うことができます。
function(response) { if (response && response.post_id) { var ids = response.post_id.split('_'); ・ ・(メッセージが投稿されたときの処理 ・ ids[0]がメッセージを投稿したユーザーのIDで、 ・ ids[1]がメッセージ自体のID) ・ } else { ・ ・(メッセージが投稿されなかったときの処理) ・ } }
なお、個別のメッセージのアドレスは、「http://www.facebook.com/permalink.php?id=ユーザーのID&story_fbid=メッセージのID」で表すことができます。