Facebook PHP SDK v4管理非开发人员帐户的页面权限
我们正在尝试创建一个应用程序来获取facebook评论,该应用程序需要管理页面权限。这不是一个我们想提交审查的应用程序,因为我们只为我们的客户使用它 当前,我们能够在以administration developers.facebook.com帐户登录时,使用以下代码获取所有页面的访问令牌,该代码为我们提供了数据数组,其中包含预期的所有访问令牌 然而,我们遇到的问题是,当我们尝试使用客户端facebook帐户登录时,数组是空的 因此,我们试图将他们添加为应用程序的管理员,但这并不理想,因为他们不是开发人员,因此不会对这种方法感到满意 我相信这是不工作的,因为管理_页面权限。 有没有人知道一种不用提交应用进行审查的方法Facebook PHP SDK v4管理非开发人员帐户的页面权限,php,facebook,facebook-graph-api,sdk,Php,Facebook,Facebook Graph Api,Sdk,我们正在尝试创建一个应用程序来获取facebook评论,该应用程序需要管理页面权限。这不是一个我们想提交审查的应用程序,因为我们只为我们的客户使用它 当前,我们能够在以administration developers.facebook.com帐户登录时,使用以下代码获取所有页面的访问令牌,该代码为我们提供了数据数组,其中包含预期的所有访问令牌 然而,我们遇到的问题是,当我们尝试使用客户端facebook帐户登录时,数组是空的 因此,我们试图将他们添加为应用程序的管理员,但这并不理想,因为他们不
$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>";
$app_id='1234567890';
$app_secret='ABCDEFGHIJKM';
$facebook=FacebookSession::setDefaultApplication($app\u id,$app\u secret);
$session=FacebookSession::newAppSession();
$callback_url='http://'$_服务器['SERVER\u NAME']。$\u服务器['REQUEST\u URI'];
$helper=newfacebookRedirectLoginHelper($callback\uURL、$app\uID、$app\uSecret);
试一试{
$session=$helper->getSessionFromRedirect();
}捕获(FacebookSDKException$e){
回显“FaceBookSDK异常错误:”。$e->getMessage();
$session=null;
}捕获(\Exception$ex){
回显“异常错误:”。$e->getMessage();
}
打印“”;打印(会话);打印“”;
如果($会议){
//用户登录后,获取AccessToken实体。
$accessToken=$session->getAccessToken();
//将短期令牌交换为长期令牌。
$longLivedAccessToken=$accessToken->extend();
//使用长寿命令牌调用Graph。
}否则{
回声';
}
FacebookSession::enableAppSecretProof(假);
试一试{
$request=newfacebookrequest($session,'GET','/me/accounts?fields=name,access_-token,perms');
$pageList=$request->execute()
->getGraphObject()
->asArray();
}捕获(FacebookRequestException$e){
回显“FacebookRequestException错误:”。$e->getMessage();
}捕获(\Exception$ex){
回显“异常错误:”。$e->getMessage();
}
打印“”;打印(页面列表);打印“”;
这是无法避免的。权限审查的存在是有原因的。它似乎有点极端,因为我们只想显示审查,而不是发布任何内容,只想查看它们。如果你想向在应用程序中没有角色的人请求权限,那么你需要获得权限批准。好吧,在我们完成审查过程后,我们如何在不同的应用程序中使用相同的应用程序站点?通过审查过程,可以询问应用程序中没有角色的用户。它不做任何其他事情