Facebook-使用access_token检查应用程序的权限


Facebook - Check permissions for app using access_token

我必须开发一个应用程序,即使用户离线,也可以发布到墙上。一切都实现了,而且行之有效。问题是,如果用户只是删除了发布的访问权限,应用程序不会收到任何通知,因此我无法更新。如果用户删除了访问权限,我尝试使用/me/feed和他的access_token从他的帐户发布,而不是只是无法发布并继续,它只会崩溃,因此其他用户的帖子也不会更新。

我正在尝试检查权限,但这也不起作用。如果我直接点击URL ,效果会很好

https://graph.facebook.com/userID/permissions?access_token=123

但当我尝试使用php做同样的事情时,它根本不起作用,或者返回空结果。我尝试过以下帖子:

$response = $facebook->api("/$userId/permissions?access_token=$accessToken");

以及

$params1 = array(); 
$params1['access_token'] = $accessToken;
$response = $facebook->api("/$userId/permissions", 'POST', $params1);

有什么想法吗?

首先我想在这里提示一下,你用过吗

$facebook->setAccessToken($myToken);

因为这将导致Facebook发送重复的变量(参数),因为你使用

$facebook->api("/$userId/permissions?access_token=$accessToken");

此外,您还可以使用:

$permissions = $facebook->api("/me/permissions");
if( array_key_exists('publish_stream', $permissions['data'][0]) ) {
    // Permission is granted!
    // Do the related task
    $post_id = $facebook->api('/me/feed', 'post', array('message'=>'Hello World!'));
} else {
    // We don't have the permission
    // Alert the user or ask for the permission!
    header( "Location: " . $facebook->getLoginUrl(array("scope" => "publish_stream")) );
}

来源:

如何:检查用户是否拥有Certian权限–Facebook API