我希望在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代码中。我如何获得第一个元素作为结果的例子?
提前致谢
答案 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上的管理员页面列表。