FacebookページにGraph APIを使って投稿する

FacebookAPIを通して、Facebookページに投稿するプログラム

基本的には、Facebook PHP SDKを使う。使い方はそちらのサンプルをベースに。

Facebookにログインする際に、"manage_pages"を付けておく。
これで投稿者が管理するFacebookページを操作できるようになる

$params = array(  
    'scope' => 'read_stream, publish_stream, status_update, manage_pages',  
    'redirect_uri' => 'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["PHP_SELF"]  
);

$loginUrl = $facebook->getLoginUrl($params);

投稿する際のプログラムは以下の様な感じ。投稿のところは自分のウォールに投稿するのと同様に可能

// ユーザIDを取得する。今回は自分  
$user_profile = $facebook->api('/me');  
$uid = $user_profile["id"];

// ユーザが管理するFBページの一覧を取得する  
//  $pagesの中にはユーザが管理権限を持つFacebookページの情報が入る  
$pages = $facebook->api("/$uid/accounts");

// 管理するFacebookページ分ループする  
foreach($pages["data"] as $page) {

    // 特定のFacebookページの時に動作させる  
    //  ここら辺は状況に合わせて書いておく  
    if($page["id"] == "<FacebookページのID>") {  
         $pid = $page["id"];

         // 以下に注意しながらウォールへ投稿。それ以外は通常の投稿と同じ  
         // ・apiのパラメータにFacebookページのIDを埋め込む  
         // ・access_tokenとして、Facebookページのaccess_tokenを設定する  
         $result = $facebook->api("/$pid/feed", "post", array(  
            "message"      => "メッセージ",  
            "picture"      => "画像のURL",  
            "link"         => "リンクのURL",  
            "name"         => "リンク名",  
            "description"  => "リンクの説明",  
            "access_token" => $page["access_token"]  
         ));  
    }  
}