1

私は現在、PHPを使用してアプリを開発していますが、基本的には完了しており、IEでテストするまで問題(Chrome)は発生しませんでした(7、8、9)。

アプリは認証できますが、アプリを操作しようとするとエラーが表示されます

API エラー コード: 191 API エラーの説明: 指定された URL はアプリケーションによって所有されていません エラー メッセージ: Invalid redirect_uri: Esta URL no está permitida por la configuración de la aplicación.

今、私は fb でアプリケーション設定をチェックして、PHP のリダイレクトに対応するようにしましたが、問題はありません。

(フェイスブックで)

URL デル サイト https://secure3.realssl.com/pepitolapelicula/concurso/ ページのページ https://apps.facebook.com/concursospepito/ URL デル サイト https://secure3.realssl.com/pepitolapelicula/concurso/ Secureキャンバス URL https://secure3.realssl.com/pepitolapelicula/concurso/ Lienzo FBML/iframe iframe サンドボックス モード Activado Deauthorize URL https://secure3.realssl.com/pepitolapelicula/concurso/

(PHPでは認証する部分)

$fbconfig['appid' ] = "000";
$fbconfig['secret'] = "000";

$fbconfig['baseUrl']    =   "https://secure3.realssl.com/pepitolapelicula/concurso/";
$fbconfig['appBaseUrl'] =   "http://apps.facebook.com/concursospepito/";


if (isset($_GET['code'])){
    header("Location: " . $fbconfig['appBaseUrl']);
    exit;
}

if (isset($_GET['request_ids'])){

}

$user  =   null; 
try{
    include_once "facebook.php";
}
catch(Exception $o){
    echo '<pre>';
    print_r($o);
    echo '</pre>';
}

$facebook = new Facebook(array(
  'appId'  => $fbconfig['appid'],
  'secret' => $fbconfig['secret'],
  'cookie' => true,
));


$user       = $facebook->getUser();
$loginUrl = $facebook->getLoginUrl(array('scope'=>'publish_stream'));

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    d($e);  // d is a debug function defined at the end of this file
    $user = null;
  }
}

if (!$user) {
    echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
    exit;
}

//get user basic description
$userInfo           = $facebook->api("/$user");

これは、ホスト プロバイダー (secure3.realssl) に問題がある可能性があると思いますが、正直なところ、今のところ手がかりがありません。だから、あなたが提供できるどんな助けにも事前に感謝します

4

1 に答える 1

0

うーん、これは非常に奇妙ですが...

この質問 (SIR による) で提供されている例を使用して、物事を機能させることができました 。Facebook キャンバス アプリケーションを認証すると、?code= が返されます

基本的に、私が気づいたことは、私が使用したコードが

if (isset($_GET['code'])){
    header("Location: " . $fbconfig['appBaseUrl']);
    exit;
}
$user       = $facebook->getUser();

SIRの回答の例では、最初に$userを取得し、その後「コード」をチェックします

それでも、奇妙なことは、IEでのみ振る舞いが指摘されたことです

ありがとう

于 2012-05-18T19:49:23.550 に答える