【问题标题】:How can I use 'manage_pages' permission with the SDK on Facebook?如何在 Facebook 上通过 SDK 使用“manage_pages”权限?
【发布时间】:2019-06-05 02:00:15
【问题描述】:
我创建了一个在粉丝页面上显示为标签的应用程序。粉丝页的管理员给了我manage_pages的权限,然后我的应用程序的标签被添加到他的粉丝页。
问题是我没有找到任何关于如何在 PHP SDK 中使用此权限的示例代码。我查看了SDK的文件base_facebook.php,我想我应该使用函数getApiUrl,但我不确定,可能我不知道如何使用这个函数。
【问题讨论】:
标签:
php
facebook
facebook-graph-api
【解决方案1】:
现在您拥有 manage_pages 权限,获取访问令牌,将其传递到我在下面创建的方法中,以获取访问令牌来管理页面。每个页面都有自己的访问令牌,一旦您拥有 manage_pages 权限,您就需要使用它。
function get_page_access_token($page_id, $access_token, $user_id) {
$data = file_get_contents('https://graph.beta.facebook.com/'.$user_id.'/accounts?access_token='.$access_token);
$pages = json_decode($data,true);
foreach($pages['data'] as $page) {
if($page['id'] == $page_id) {
return $page['access_token'];
}
}
}
【解决方案2】:
你错了。是 $page['name']
function get_page_access_token($page_id, $access_token, $user_id) {
$data = curl_get_contents('https://graph.beta.facebook.com/'.$user_id.'/accounts?access_token='.$access_token);
$pages = json_decode($data,true);
foreach ($pages['data'] as $page) {
if ($page['name'] == $page_id) {
return $page['access_token'];
}
}
}