使用图API api 200权限错误

时间:2012-09-24 12:59:06

标签: facebook facebook-graph-api

在我的网页上发帖后,如果用户登录他可以添加喜欢/评论该帖子问题,如果有任何用户尝试添加喜欢或评论,则会收到错误

200权限错误

如果我使用我的用户名和密码登录,我可以制作或添加评论!!

我发送的内容如下:

jQuery.post('https://graph.facebook.com/'+comm_id+'/likes/',{
                            access_token : "<?php echo $access_token ?>"

                        });

代码:

$facebook = new Facebook(array(
            'appId' => '',
            'secret' => '',
            'cookie' => true,
        ));
$user = $facebook->getUser();
if ($user) {  
    if (session_id()) {

    } else {
        session_start();
    }

    $access_token = $facebook->getAccessToken();
    //check permissions list
    $permissions_list = $facebook->api(
            '/me/permissions', 'GET', array(
        'access_token' => $access_token
            )
    );

    //check if the permissions we need have been allowed by the user
    //if not then redirect them again to facebook's permissions page
    $permissions_needed = array('publish_stream', 'read_stream', 'manage_pages');
    foreach ($permissions_needed as $perm) {
        if (!isset($permissions_list['data'][0][$perm]) || $permissions_list['data'][0][$perm] != 1) {
            $login_url_params = array(
                'scope' => 'publish_stream,read_stream,manage_pages',
                 'fbconnect' =>  1,
        'display'   =>  "page",
                'redirect_uri' => 'http://localhost/fb/index.php',
            );
            $login_url = $facebook->getLoginUrl($login_url_params);
            header("Location: {$login_url}");
            exit();
        }
    }
}else {
    //if not, let's redirect to the ALLOW page so we can get access
    //Create a login URL using the Facebook library's getLoginUrl() method
    $login_url_params = array(
        'scope' => 'publish_stream,read_stream,manage_pages',
                'fbconnect' =>  1,
        'display'   =>  "page",
        'redirect_uri'=>'http://localhost/fb/index.php',
    );
    $login_url = $facebook->getLoginUrl($login_url_params);

    //redirect to the login URL on facebook
    header("Location: {$login_url}");
    exit();
}

$logoutUrl = $facebook->getLogoutUrl();

用户的访问权限是

1 个答案:

答案 0 :(得分:0)

确保您对要为其创建帖子的任何用户拥有publish_stream权限。请记住,创建评论仍然是在创建内容。

查看Facebook's permissions documentation

上的publish_stream权限
  

使您的应用能够向用户发布内容,评论和赞   流和用户的朋友的流。这是一个超集   发布权限,其中还包括publish_actions。然而,   请注意,Facebook建议使用用户启动的共享模型。   请阅读平台政策以确保您了解如何操作   正确使用此权限。注意,您不需要请求   publish_stream权限,以便使用Feed对话框   请求对话框或发送对话框。