1

Facebookでアプリケーションを作成しました。Facebook ウォールにメッセージを投稿したいと思います。私はアプリケーションの開発者であるため、Facebook アカウントにログオンするとメッセージがウォールに表示されますが、別のユーザーにログオンすると、このアプリケーションが取得されず、ページがリダイレクトされます。http://www.facebook.com/4oh4.phpへ。私のコードは以下のとおりです

$facebook = new Facebook(array(

            'appId' => myAppId,
            'secret' => myAppSecret,
                'cookie' => true,
                'req_perms' => 'email,read_stream,read_friendlists,publish_stream,offline_access,manage_pages'

        ));
    $user = $facebook->getUser();
$app_id = myAppId;
        $canvas_page = "https://apps.facebook.com/apptestingas/";
        $auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
            . $app_id . "&redirect_uri=" . urlencode($canvas_page)."&scope=email,read_stream,read_friendlists,publish_stream,offline_access,manage_pages";
 if(isset($_REQUEST["signed_request"]))
     {
        $signed_request = $_REQUEST["signed_request"];
        list($encoded_sig, $payload) = explode('.', $signed_request, 2); 
        $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

     }
      if (empty($data["user_id"]))
     {
        echo("<script> top.location.href='" . $auth_url . "'</script>");

     }
     else 
     {
        $uid = $data["user_id"];

     } 
try {
    // Proceed knowing you have a logged in user who's authenticated.
 echo $token = $facebook->getAccessToken();
$user_profile = $facebook->api('/'.$uid.'',array (
'access_token' => $token)
);


  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
  if (!empty($user_profile )) {
        # User info ok? Let's print it (Here we will be adding the login and registering routines)

       echo  $username = $user_profile['name'];
    $uid = $user_profile['id'];
$facebook->api('/'.$uid.'/feed', 'post', array(
          'message' => "sdsgdg testingbbbb",

      ));
  }

誰か助けてください

4

1 に答える 1

1

アプリケーションはサンドボックスモードに設定されていますか?これはアプリの設定で制御できます。説明を引用すると、「有効にすると、アプリ開発者のみがアプリを使用できるようになります」。

于 2013-02-11T10:15:41.087 に答える