我必须开发一个应用程序,即使用户离线,也可以发布到墙上。一切都实现了,而且行之有效。问题是,如果用户只是删除了发布的访问权限,应用程序不会收到任何通知,因此我无法更新。如果用户删除了访问权限,我尝试使用/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