0

タイトルに記載されているように、私はアプリを持っており、ユーザーがAllowまたはDon't Allowボタンをクリックしたかどうかにかかわらず、許可ダイアログが表示されてもアプリキャンバスページにリダイレクトされます。FacebookのPHP SDK - ユーザーが「許可」または「許可しない」かどうかにかかわらず、彼らはまだApp Canvasページに取り込まれていますか?

私はそれが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は、単にアプリケーションにリダイレクトされます。

ありがとうございました!

答えて

1

それは、異なるGETパラメータを使用して、関係なく、認証ダイアログに押されているものボタンの同じURLにリダイレクトされます:

ユーザーがアプリのアクセスを拒否した場合、それはURL

で次のparamsを置く必要があります= user_denied
  • エラー
    • ERROR_REASONは=
    • ましたerror_description = +ユーザー+拒否+あなた+リクエストをACCESS_DENIED

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

    if(isset($_GET['error'])) 
    { 
        die($_GET['error_description']); 
    } 
    else 
    { 
        // ... redirect as usual 
    } 
    
  • +0

    大変ありがとうございます。 – martincarlin87

    関連する問題