ウォールを投稿する

Graph APIを使用してユーザーやページにウォールを投稿することができます。

Sample 1 (PHP SDKを使用)

※PHP SDKの詳細は PHP SDKの使用方法 を参照してください。

<?php

////////// ↓ 解説を参照 //////////

// 【appId】を参照
$appId = '...';
// 【secret】を参照
$secret = '...';
// 【ID】を参照
$id = '...';
// 【access_token】を参照
$access_token = '...';
// 【message】を参照
$message = '...';

////////// ↑ 解説を参照 //////////


// PHP SDKを読み込む
require_once 'src/facebook.php';

$facebook = new Facebook(array('appId' => $appId, 'secret' => $secret));
// Facebookオブジェクト生成時にappId、secretを指定しなくても投稿可(投稿時のパラメータにaccess_tokenを指定するため)
//$facebook = new Facebook(array());

// 投稿
$facebook->api('/' . $id . '/feed/', 'POST', array('access_token' => $access_token, 'message' => $message));

?>

解説

【appId】

FacebookアプリのアプリケーションID(App ID/API Key)を指定。 確認方法

【secret】

Facebookアプリのシークレットキー(アプリの秘訣)を指定。 確認方法

【access_token】

認証時に取得したアクセストークンを指定。

(アクセストークンを取得する)
User Login サーバーサイドフロー
User Login クライアントサイドフロー

【message】
投稿するメッセージを指定。
【ID】

ウォールの投稿対象を指定。

例:

  • 自身のウォールに投稿する。
    $facebook->api('/me/feed/', 'POST', array('access_token' => '...', 'message' => '...'));
  • 特定のアカウントのウォールに投稿する。
    $facebook->api('/(対象アカウントのID)/feed/', 'POST', array('access_token' => '...', 'message' => '...'));
    $facebook->api('/(対象アカウントのユーザーネーム)/feed/', 'POST', array('access_token' => '...', 'message' => '...'));
  • Facebookページのウォールに投稿する。
    $facebook->api('/(対象ページのID)/feed/', 'GET', array('access_token' => '...', 'message' => '...'));

Sample 2 (JavaScript SDKを使用)

※JavaScript SDKの詳細は JavaScript SDKの使用方法 を参照してください。

<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
// Facebook JavaScript SDK初期化
FB.init({
    appId  : '【appId】', ///// ← 解説を参照 /////
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true  // parse XFBML
});

// JavaScript SDK初期化時にappIdを指定しなくても取得可
//(取得時のパラメータにaccess_tokenを指定するため)
//FB.init();

function postWall() {
    FB.api('/【ID】/feed' ///// ← 解説を参照 /////
         , 'post'
         , { access_token: '【access_token】', message: '【message】' } ///// ← 解説を参照 /////
         , function(response) {
               // コールバック
               if (!response || response.error) {
                   alert('Error occured');
               } else {
                   alert('Post ID: ' + response.id);
               }
           });
}
</script>
<input type="button" value="post wall" onclick="postWall();">
</body>
</html>

解説

【appId】

FacebookアプリのアプリケーションID(App ID/API Key)を指定。 確認方法

【access_token】

認証時に取得したアクセストークンを指定。

(アクセストークンを取得する)
User Login サーバーサイドフロー
User Login クライアントサイドフロー

【message】
投稿するメッセージを指定。
【ID】

ウォールの投稿対象を指定。

例:

  • 自身のウォールに投稿する。
    FB.api('/me/feed',...
  • 特定のアカウントのウォールに投稿する。
    FB.api('/(対象アカウントのID)/feed'...
    FB.api('/(対象アカウントのユーザーネーム)/feed'...
  • Facebookページのウォールに投稿する。
    FB.api('/(対象ページのID)/feed',...

参考サイト