0

Allowタイトルで述べたように、私はアプリを持っており、ユーザーがまたはDon't Allowボタンをクリックしたかどうかに関係なく、認証ダイアログが表示されてアクセス許可を要求すると、アプリのキャンバスページにリダイレクトされます。

私はそれが関係していることを理解していredirect_uriますが、クリックされたボタンに基づいて異なるロジックを実行するために2つのアクションを区別する方法はありますか?

// Login or logout url will be needed depending on current user state.
else {
     $loginUrl = $facebook->getLoginUrl(array('canvas' => 1,
                                              'fbconnect' => 0,
                                              'display' => 'page',
                                              'redirect_uri' => 'https://www.facebook.com/dialog/oauth?client_id=xxxxxxxxx&redirect_uri=http://www.domain.com/facebook/2011/app1/redirect.php&scope=publish_stream',
                                              'req_perms' => 'publish_stream'));

redirect.php私のドメインでは、単にアプリにリダイレクトします。

助けてくれてありがとう!

4

1 に答える 1

1

認証ダイアログでどのボタンが押されたかに関係なく、同じURLにリダイレクトされますが、GETパラメーターは異なります。

ユーザーがアプリへのアクセスを拒否した場合は、URLに次のパラメーターを含める必要があります

  • error_reason = user_denied
  • error = access_denied
  • error_description = The + user + denied + your + request

これはリダイレクトページで処理する必要があります。

if(isset($_GET['error']))
{
    die($_GET['error_description']);
}
else
{
    // ... redirect as usual
} 
于 2011-12-22T10:34:27.480 に答える