2011-10-21 10 views
2

私はFacebookのアクセス許可をOAuth Dialogで使用していますが、ユーザーの電子メール、誕生日、その他の詳細にアクセスする権限がありますが、このアプリケーションURLを実行すると、https://apps.facebook.com/projectatestapp/アプリケーションウィンドウに:Facebook許可ダイアログ(JavaScript sdk)

あなたはNina Sewartとしてtestappにログインしています。ログインするとFacebookにこのアプリのアクティビティは追加されません。ログで

で、ここでボタンinstead of Permission window with Allow and Don't Allow button

をキャンセルするには、私のコード

<html xmlns:fb="https://www.facebook.com/2008/fbml"> 
<body> 
    <script src="http://connect.facebook.net/en_US/all.js"></script> 
    <div id="fb-root"></div> 
    <script> 
     FB.init({ 
      appId: '[My app id]', 
      xfbml: true, 
      cookie: true, 
      oauth: true 
     }); 

     FB.login({ 
      scope: 'email,user_birthday', 
     }); 
    </script> 

    <a href="https://www.facebook.com/dialog/oauth/?scope=email, 
     user_birthday& 
     client_id=148244388606048& 
     redirect_uri=https://apps.facebook.com/projectatestapp/test2.html& 
     response_type=token" target="_top">test</a> 
</body> 
</html> 

でいただきました!間違ったことで教えてください?

答えて

1

あなたがそれを見ていない理由は、アプリケーションプロセスが2段階のプロセスになっているからです。

  1. あなたのアプリケーションにログインすることを許可していること。
  2. コールバックURLが再生される場所である拡張アクセス許可を受け入れることができます。

文書はhereです。

コールバックが呼び出されない理由は、2つのステップの処理が原因です。私は応答が2番目のページに添付されるようにすることを提案します。

JS SDKの仕組みがわかりませんが、私はそれをどうやって管理したのですか?

グッドラック。

+1

oおかげでuは私の謎の画面を解きました。 ... – user1006567

0

自動化ウィンドウを呼び出してfbトークンをURLに追加してfbのユーザーを識別する必要があります。

私はこのトークンを取得しようとします:FB.getAccessToken();

+0

;許可/拒否の許可のウィンドウはもうありません..私が見ているのは、私がURLをヒットしたときに** Nida testappが必要とする新しいウィンドウが表示されたときです: 電子メールアドレス(nidaalikhawaja @ hotmail。com) あなたの誕生日 ログインするとFacebookにこのアプリのアクティビティは追加されません** **ログインとキャンセルボタンと共にFacebookは許可を変更し、これを許可しない可能性がありますか? – user1006567

+0

私はここで同じ問題を抱えています:http://facebook.stackoverflow.com/questions/7847029/fb-ui-permissions-request-issue-in-new-oauth-window – MLKiiwy

0

私はここでも同じ問題があります。ドキュメンテーションによれば、このアプリの開発者/テスト担当者のみが公開権限を得ることができますが、アプリを作成するために使用されたIDでのみ動作するように管理できます。他のテストユーザー(許可された開発者であっても)は、「タイムラインの追加」段階を過ぎることはできません。

これは大きなバグです。

0

私はこの問題に数時間苦労していました。私の素敵な同僚が、今すぐ修正しました。ログインが呼び出された後でページを更新しないようにしてください。基本的には、以下のようにはしないでください。

FB.login(...); 
window.location.refresh(); 

FB.loginのコールバックにリフレッシュコードを含めてください!

男、私はとても愚かだと感じますが、コードの実行順序に関してコールバックがどのように機能するかを混乱させて忘れることがあります。 response.authResponse.accessTokenを使用して

関連する問題