如何使用Graph API单独获取每个Facebook页面的名称?

时间:2010-11-03 12:25:38

标签: php html facebook facebook-graph-api

我希望在Facebook中使用新的Graph API显示用户管理的所有页面。我所做的是:

       $queries = '{
        "page_admin_ids" : "SELECT page_id FROM page_admin WHERE uid = ' . $uid . '",
        "page_name_and_id" : "SELECT name FROM page WHERE page_id IN (SELECT page_id FROM #page_admin_ids)"
       }';

        $data = array(
            'method' => 'fql.multiquery', 
            'queries' => $queries,
            'callback'  => ''
        );

        $fqlResult = $facebook->api($data);
        print_r($fqlResult); 

此代码有效,Array的所有数据都以Array格式显示。我想分别使用它们中的每一个,每个页面名称,并将其添加到我的html代码中。我如何获得第一个元素作为结果的例子?

提前致谢

1 个答案:

答案 0 :(得分:1)

如果您正在使用新的Facebook PHP SDK,那么您应该能够执行以下操作:

<?php
$facebook  = new Facebook(array(
    'appId'  => $config['appid'],
    'secret' => $config['appsecret'],
    'cookie' => true,
));

$session = $facebook->getSession();
$user = null;
if ($session) {
    try {
        $user = $facebook->api('/me');
    }
    catch (FacebookApiException $e) {
        error_log($e);
    }
}
if (!$user) {
    $loginUrl = $facebook->getLoginUrl(array(
        'canvas' => 1,
        'fbconnect' => 0,
        'req_perms' => 'manage_pages', // request extended perms. here
        'next' => "http://www.example.com/",
        'cancel_url' => "http://www.example.com/",
    ));
    echo '<fb:redirect url="' . $loginUrl . '" />';
}

$pages = $facebook->api('/me/accounts');
...

这给了我一个我在Facebook上的管理员页面列表。