有什么方法可以通过页面 id 获取任何页面的访问令牌,我应该能够代表管理员在页面上发布?
问问题
1576 次
1 回答
0
我猜您不想成为客户页面的管理员:
您可以创建一个页面,以便您的客户登录 Facebook 并向您的应用授予权限。
然后您可以获得页面访问令牌并将其保存在您的数据库中。
最后使用该访问令牌以管理员身份直接发布到每个页面,而不是您实际的管理员。
引用Facebook 文档:
要获取页面访问令牌,您需要首先获取用户访问令牌并请求 manage_pages 权限。获得用户访问令牌后,您就可以通过 Graph API 获得页面访问令牌。
要获取用户访问令牌(假设您已登录到 fbk 并已授予您的应用程序的权限):
$user = $facebook->getUser();
if(!$user) {
$login_url_params = array(
'scope' => 'publish_stream,read_stream,manage_pages',
'fbconnect' => 1,
'redirect_uri' => 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
);
$login_url = $facebook->getLoginUrl($login_url_params);
//redirect to the login URL on facebook
header("Location: {$login_url}");
}
不要忘记获取时间延长的访问令牌
$facebook->setExtendedAccessToken();
$access_token = $facebook->getAccessToken();
使用该令牌,您可以通过 API 获取页面令牌:
$accounts = $facebook->api(
'/me/accounts',
'GET',
array(
'access_token' => $access_token
)
);
$accounts 将是一个关联数组,其中包含您管理的页面的所有信息(包括每个页面的令牌)。要获取知道其 ID 的特定页面的令牌:
$accounts = $accounts['data'];
foreach($accounts as $account){
if( $account['id'] == $pagId ){
//$pagId would be the ID of the page you want to use
//This is the token of the page with the ID $pagId
$page_access_token = $account['access_token'],
}
}
于 2013-09-16T15:45:46.790 回答