拙著「FXはチャートで勝つ!」が発売されました。
FX(外国為替証拠金取引)でのチャートの読み方を解説しています。
自由国民社刊で、定価1,728円(消費税込み)です。
Facebookアプリ開発に挑戦(その11・Graph APIでウォールに投稿)
Graph APIにはさまざまな機能がありますが、ユーザーのウォールにメッセージを投稿することもできます。
その方法を紹介します。
1.投稿の手順
Graph APIでユーザーのウォールにメッセージを投稿するには、POSTプロトコルで以下のアドレスにアクセスします。
https://graph.facebook.com/me/feed
また、POSTの際のパラメータとして、以下の各情報を渡します。
| パラメータ名 | 内容 |
|---|---|
| access_token | アクセストークン |
| message | メッセージの本文 |
| picture | メッセージに画像を添付する場合は、その画像のアドレス |
| link | メッセージから他のページへのリンクする場合は、そのリンク先のアドレス |
| name | メッセージから他のページへのリンクする場合は、そのリンク先のページの名前 |
| caption | メッセージから他のページへのリンクする場合は、そのリンク先に関するキャプション(サイト名など) |
| description | メッセージから他のページへのリンクする場合は、そのリンク先のページの概要 |
2.投稿結果の確認
投稿に成功すると、POSTリクエストに対するレスポンスボディとして、以下のようなJSON形式の文字列が返されます。
{"id":"ユーザーのID_メッセージのID"}
一方、アクセストークンが正しくないなどで投稿に失敗した場合は、以下のような文字列が返されます。
{"error":{"type":"エラーのタイプ","message":"エラーメッセージ"}}
これらの文字列の内容をチェックして、投稿に成功したかどうかを判断します。
3.事例
PHPでユーザーのウォールに投稿するには、以下のようなコードを実行します。
<?php
$token = 'アクセストークン';
$ch = curl_init();
$params = 'access_token=' . urlencode($token);
$params .= '&message=' .urlencode('送信するメッセージ');
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/me/feed');
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$resp = curl_exec($ch);
curl_close($ch);
if ($resp === false) {
通信エラー時の処理
}
else {
$resp = json_decode($resp);
if (isset($resp->id)) {
投稿に成功した時の処理
}
else if (isset($resp->error)) {
投稿に失敗した時の処理
}
}
?>
2行目の「アクセストークン」は、取得済みのアクセストークンに置き換えます。
また、5行目の「メッセージ」は、送信したいメッセージに置き換えます。
通信自体に失敗した場合(Facebookのサーバーに接続できないときなど)は、13行目の「通信エラー時の処理」が実行されます。
また、アクセストークンが正しくないなど、Facebookからエラーが返された時には、21行目の「投稿に失敗した時の処理」が実行されます。
そして、投稿に成功した時には、18行目の「投稿に成功した時の処理」が実行されます。
これらの処理を、ご自分のプログラムに合わせて、適宜書き換えてください。
なお、上記の例では、PHPにcURLがインストールされていることが必要です。
cURLのインストール手順は、PHPのサイトのcURLのページを参照してください。
