0

重複の可能性:
Facebook Graph API - 管理者としてファンページに投稿する

私は以下のコードを書きました:

$pageId = 'xxx';
$appId = 'xxx';
$secret = 'xxx';
$facebook = new Facebook(array(
    'appId' => $appId,
    'secret' => $secret,
    'cookie' => false
));

$access_token = $facebook->getAccessToken();

$facebook->api("/{$pageId}/feed", "post", array(
    'message' => "First message",
    'name' => "Name for first",
    'access_token' => $access_token
));

ただし、次の例外が発生します: (#200) ユーザーは、アプリケーションがこのアクションを実行することを承認していません

4

2 に答える 2

0

ユーザーがまだログインしているかどうかを確認しましたか? シンプルですが、コードには表示されません。

最初に $facebook->getUser() が null かどうかを確認し、null の場合は $facebook->getLoginUrl(array('req_perms' => 'user_status'); にリダイレクトし、必要な他の権限を追加してください。

この質問は非常に似ています。いくつかの回答を読んでください。あなたに合った回答があるはずです。

于 2013-01-20T11:44:37.370 に答える
0

コードに *publish_stream* パーミッションが必要です。かもね:

$my_url = "http://apps.facebook.com/siegiusarena";

// ユーザー ID を取得 $user = $facebook->getUser();

もし ($ユーザー) {

    $message=$application_name." game on facebook. Check it out: http://apps.facebook.com/siegiusarena";
$link = "http://apps.facebook.com/siegiusarena";
$attachment = array('message'=>$message, 'link'=>$link, 'picture'=>'http://www.developas.com/fb/siegiusarena/siegiusarena_256x256.jpg');
$facebook->api("me/feed", 'post', $attachment);

}else{ $code = $_REQUEST["コード"];

    if(empty($code)) {
                     $_SESSION['state'] = md5(uniqid(rand(), TRUE)); // CSRF protection
                     $dialog_url = "https://www.facebook.com/dialog/oauth?client_id=" 
   . $appid . "&redirect_uri=" . urlencode($my_url) . "&state="
   . $_SESSION['state'] . "&scope=email,publish_stream";

                    echo("<script> top.location.href='" . $dialog_url . "'</script>");

} }

于 2013-01-20T12:30:02.437 に答える