「WordPressで学ぶPHP(1)変数・制御構造編」が発売されました。
「WordPressで学ぶPHP」シリーズの第1巻で、WordPressを通してPHPを学んでいく本です。
この本では、PHPの基本となる変数と制御構造について解説します。
Kindle本で、定価500円です。
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のページを参照してください。
