0

私のウェブページに私の投稿を取得した後、ユーザーがログインすると、その投稿にいいね/コメントを追加できます。ユーザーがいいねやコメントを追加しようとすると、エラーが発生します。

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();

ユーザーがログインするためのアクセストークン

4

1 に答える 1

0

publish_stream投稿を作成できるユーザーの権限があることを確認してください。コメントを作成することは、コンテンツを作成することであることを忘れないでください。

Facebookの権限に関するドキュメントpublish_streamで権限を確認してください。

アプリがコンテンツ、コメント、いいね! をユーザーのストリームとユーザーの友達のストリームに投稿できるようにします。これは、publish_actions も含むスーパーセットの公開権限です。ただし、Facebook はユーザーが開始する共有モデルを推奨していることに注意してください。この権限を適切に使用する方法を理解するには、プラットフォーム ポリシーをお読みください。フィード ダイアログ、リクエスト ダイアログ、または送信ダイアログを使用するために、publish_stream パーミッションをリクエストする必要はありません。

于 2012-09-24T13:01:04.673 に答える