[PHP] FaceBookのAPIを叩いてウォール(Wall/Feed)に投稿する方法

このエントリーをはてなブックマークに追加

こんにちは、fujinyoです。

ブログを活用するなんて言って更新しないままかなり経ちました。

今回はFaceBookAPIを使ってユーザーのウォールに投稿する方法を書きます。
(FBページのウォール取得はこちら)

診断アプリだと結果を投稿させたり、ゲームアプリだとレベルが上がったとか投稿させるようにしたくなりますよね。

ウォールに掲載される事で、FaceBook内で拡散されていくのでアプリを作るなら使わない手はありません。

ただ、ユーザーの同意無しに投稿させるようなアプリはヨロシクないのでやめましょう。

さて、サンプルコードです。

require_once('facebook.php');

$facebook = new Facebook(array(
     'appId' => あなたのアプリのID,
     'secret' => あなたのアプリの秘訣,
     'cookie' => true
));

ここまでは、前の記事にも書きましたがAPIを使う準備と言った所です。

try
{
     //ウォールへ投稿
     $result = $facebook->api("/me/feed", "post", array(
                    "message" => 投稿本文,
                    "picture" => 投稿に表示される画像URL,
                    "link" => リンクURL,
                    "name" => リンク名,
                    "caption" => リンクのキャプション(見出し),
                    "description" => リンクの説明文,
                    "source" => 動画URL,
                    "action" => json_encode(array(
                                  "name" => アクションリンク名,
                                  "link" => アクションリンクURL))
     ));
}
catch(FacebookApiException $e)
{
     //エラー処理がうんたらかんたら
}

3つ目の引数の配列の各パラメータは以下の画像がわかりやすいかと思います。


actionの所は、いろいろ使えそうですね。
例えば、診断アプリであれば name の所はそのままアプリへ飛ばしておいて action の所は運営元FBページの方へリンクさせるとか。
ゲームだとアプリ自体の説明ページを作っておいて「[アプリ名称]って?」みたいな感じでリンクさせてもいいかなと思います。

必須のパラメータはそんなに多くなかったかと思うのですが、できる限り詰め込んだほうがいいかなと思います。適当なメッセージと、リンクのみはかなり投稿として見た時に寂しいです。あと、画像もあるなら設定しておきましょう。目を引きます。

冒頭でも言いましたが、ユーザーの同意なしにウォールへ投稿する処理はやめましょう。
JSのアラートでもなんでもいいので、ユーザーの同意を得るような仕組みで「YES」「NO」をユーザーが選択できる仕組みをセットで実装してください。

くれぐれも、Cronを使って定期的にポストして宣伝してやろうなんて思わないように。

では、良いアプリを!

[PR] 「結さん」があなたに代わって開発案件の依頼主を探します

  • 「既存のクライアントにギャラアップは言いにくい」
  • 「営業活動する時間がないし、苦手」
  • 「仕事が途切れたらどうしよう」

ITエンジニアのこんな悩みを「結さん」が解決してくれます
結さんへの無料会員登録後は提案メールを待つだけです!

関連記事

このエントリーをはてなブックマークに追加