ウォールを取得する

Graph APIを使用してユーザーやページ等のウォールを取得することができます。

Sample 1 (PHP)

<?php

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

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

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


$url = 'https://graph.facebook.com/' . $id . '/feed?access_token=' . $access_token;
// ※取得数に上限を設ける場合は、'limit' を指定する
// 例:上限を5にする
// .../feed?access_token=' . $access_token . '&limit=5';

// Graph APIはJSON形式のデータをレスポンスとして返す
$feed = json_decode(file_get_contents($url));

// 結果を出力
var_dump($feed);

?>

解説

【access_token】

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

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

【ID】

ウォールの取得対象を指定。

例:

  • 自身のウォールを取得する。
    https://graph.facebook.com/me/feed?access_token=...
  • 特定のアカウントのウォールを取得する。
    https://graph.facebook.com/(対象アカウントのID)/feed?access_token=...
    https://graph.facebook.com/(対象アカウントのユーザーネーム)/feed?access_token=...
  • Facebookページのウォールを取得する。
    https://graph.facebook.com/(対象ページのID)/feed?access_token=...

Sample 2 (PHP SDKを使用)

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

<?php

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

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

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


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

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

$feed = $facebook->api('/' . $id . '/feed/', 'GET', array('access_token' => $access_token));
// ※取得数に上限を設ける場合は、'limit' を指定する
// 例:上限を5にする
// array('access_token' => $access_token, 'limit' => 5)

// 結果を出力
var_dump($feed);

?>

解説

【appId】

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

【secret】

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

【access_token】

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

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

【ID】

ウォールの取得対象を指定。

例:

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

Sample 3 (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 getWall() {
    FB.api('/【ID】/feed' ///// ← 解説を参照 /////
         , { access_token: '【access_token】' } ///// ← 解説を参照 /////
         , function(response) {
               // 取得後のコールバック
               var contents = '';
               for (var i = 0; i < response.data.length; i++) {
                   for (var elem in response.data[i]) {
                       contents += elem + ' : ' + response.data[i][elem] + '<br>';
                   }
                   contents += '<hr>';
               }
               
               // ウォールの内容を表示させる
               document.getElementById('result').innerHTML = contents;
           });
    // ※取得数に上限を設ける場合は、'limit' を指定する
    // 例:上限を5にする
    // { access_token: '...', limit: 5 }
}
</script>
<input type="button" value="get wall" onclick="getWall();">
<div id="result"></div>
</body>
</html>

解説

【appId】

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

【access_token】

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

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

【ID】

ウォールの取得対象を指定。

例:

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

参考サイト