1

私はいくつかのアプローチを試しました。ここで運が悪い。Facebook php sdkを使用しています。

今起こっていることは、認証された後にアプリが私のサイトにリダイレクトされることです.

<?php 
require_once 'php-sdk/facebook.php';
$app_id = "***";
$app_secret = "***";
$facebook = new Facebook(array(
        'appId'=> $app_id,
        'secret' => $app_secret,
        'cookie' => true
));
$user = $facebook->getUser();
if(!$user)
{
    $auth_url = $facebook->getLoginUrl(array('scope' => 'email'));
    echo("<script> top.location.href='" . $auth_url . "'</script>");
}
?>

auth_url を次のように置き換えてみました。

$auth_url = $facebook->getLoginUrl(array('scope' => 'email',
'redirect_uri' => 'http://apps.facebook.com/ridetogether'));

しかし、プロンプトはredirect_urlが私が所有していないことを教えてくれました:

Ride Together でエラーが発生しました。後でもう一度やり直してください。

API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: Invalid redirect_uri: Given URL is not allowed by the Application configuration.

Facebook内のキャンバスアプリにリダイレクトするために他に何ができますか?

4

2 に答える 2

1

API エラー コード: 191 API エラーの説明: 指定された URL は、アプリケーションによって所有されていません エラー メッセージ: 無効な redirect_uri: 指定された URL はアプリケーション構成で許可されていません。

アプリケーションの設定で、名前空間/キャンバス ページは正しいですか? もう一度確認する必要があるかもしれません。

于 2011-12-06T07:49:51.760 に答える
0

このように、リダイレクト先のドメイン上の特定のページを指定する必要があります

$params = array(
  'scope' => 'email',
  'redirect_uri' => $authPageURL,
);

$auth_url = $facebook->getLoginUrl($params);

次に、そのページは301を使用してキャンバスURLにリダイレクトする必要があります。したがって、auth.phpまたはこれを含むページを作成します。

if(isset($_REQUEST['error_reason']))
{
    header('Location: '.$auth_error_page);
}
else 
{       
    header('Location: '.$FB_canvas_page);
}

次に、そのページをリダイレクトURIとして使用します。

于 2011-12-06T11:04:17.503 に答える