如何使用Graph API分别获取每个Facebook页面的名称?
问题描述:
我想在Facebook中显示用户是使用新Graph API的管理员的所有页面。我要做的就是:如何使用Graph API分别获取每个Facebook页面的名称?
$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);
此代码工作和阵列的所有数据都显示在一个阵列格式。我想分别使用每个页面名称,并将其添加到我的html代码中。我怎样才能得到结果的第一个元素?
在此先感谢
答
如果您使用的是新的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上。
非常感谢Martin! – novellino 2010-11-03 16:01:02
虽然我使用新的PHP SDK,但它没有工作。也许我的问题不是很清楚,这个“账户”是为了别的吗?无论如何,我找到了一个办法。我使用了一个for循环,然后这个: $ fqlResult [1] ['fql_result_set'] [$ i] ['name'] 所以我设法让我的所有页面,但一个接一个。无论如何,多谢了 – novellino 2010-11-04 09:13:12
据我了解,如果我也添加manage_pages权限,这件事可以工作吗?你能解释我怎么做到这一点? – novellino 2010-11-04 13:41:52