我们正在尝试创建一个应用来吸引需要manage_page权限的Facebook评论。这不是我们想要提交审核的应用,因为我们只是为我们的客户使用它。
我们目前能够使用下面的代码以管理developers.facebook.com帐户登录时获取所有页面的访问令牌,该代码为我们提供了所有access_tokens的数据数组。
但是我们遇到的问题是当我们尝试使用客户端facebook帐户登录时,数组是空的。
所以我们尝试将它们添加为应用程序的管理员,这不是理想的,因为他们不是开发人员所以不会对这种方法感到满意。
我认为由于manage_page权限,这不起作用。 有没有人知道如何解决这个问题,而无需提交应用程序进行审核?
$app_id = '1234567890';
$app_secret = 'ABCDEFGHIJKM';
$facebook = FacebookSession::setDefaultApplication($app_id, $app_secret);
$session = FacebookSession::newAppSession();
$callback_url = 'http://'. $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$helper = new FacebookRedirectLoginHelper($callback_url, $app_id, $app_secret);
try {
$session = $helper->getSessionFromRedirect();
} catch(FacebookSDKException $e) {
echo 'FacebookSDKException Error: ' . $e->getMessage();
$session = null;
} catch(\Exception $ex) {
echo 'Exception Error: ' . $e->getMessage();
}
print "<pre>"; print_r($session); print "</pre>";
if ($session) {
// User logged in, get the AccessToken entity.
$accessToken = $session->getAccessToken();
// Exchange the short-lived token for a long-lived token.
$longLivedAccessToken = $accessToken->extend();
// Make calls to Graph with the long-lived token.
} else {
echo '<a href="' . $helper->getLoginUrl() . '">Login with Facebook</a>';
}
FacebookSession::enableAppSecretProof(false);
try {
$request = new FacebookRequest($session, 'GET', '/me/accounts?fields=name,access_token,perms');
$pageList = $request->execute()
->getGraphObject()
->asArray();
} catch(FacebookRequestException $e) {
echo 'FacebookRequestException Error: ' . $e->getMessage();
} catch(\Exception $ex) {
echo 'Exception Error: ' . $e->getMessage();
}
print "<pre>"; print_r($pageList); print "</pre>";