2011-10-20 17 views
0

私は質問が....私は実際にFBのjavascriptのSDKを使用してFacebookのアプリケーションを開発しています。私のアプリケーションでは、後で処理するための電子メールの許可が必要です。私は使用していますFacebookのjavascriptの許可ダイアログのメール

FB.Connect.showPermissionDialog( "email"); はなく、ダイアログが表示されていませんどのようにいくつかは...ここに私のコードです

<script> 
    appid = '*************'; 
    name = 'Palmchip Test App'; 
    href = 'https://apps.facebook.com/*********/'; 
    FB.init({ 
    appId:appid, cookie:true, 
    status:true, xfbml:true 
    }); 
    FB.getLoginStatus(function(response) { 
    if (response.session) { 
    alert("You are logged in..."); 
    FB.Connect.showPermissionDialog("email", function(perms) { 
      if (!perms) { 
      alert("no access"); 
      } else { 
       alert("accessed..."); 
      } 
     }); 
    } 
    else { 
    top.location.href='https://graph.facebook.com/oauth/authorize?client_id='+appid+'&redirect_uri='+href+'&display=page'; 
    } 
    }); 

</script> 

あなたがで...正常に動作ログインしているを言いますが、その後何も起こりません警告.....

答えて

0
  1. はあなたが使用する必要があるのOAuth 2.0にouath: true
  2. をアップグレードする必要が新しいOAuth Dialog
  3. FB.getLoginStatus()が異なるオブジェクトを返すことをアップグレードする際に注意する必要があります: response.authResponse
+0

私はOAuth Dialogリンクを試してみましたが、そこに書かれているのとまったく同じコードを使用しても、私はまだ応答がありません:(直接URLの例を使用した後**)私はクリックしてから、許可ダイアログへの指示です – user958414

+0

私のエラーにお答えくださいhttp://stackoverflow.com/q/7833875/958414 – user958414

0

現在のユーザーが既にあなたに彼がちょうどリダイレクトするために、それは何もしないだろうEメールアドレスを与えた場合は、getin()関数を呼び出すときに、このコードブロック

FB.init({appId: <?= APP_ID ?>, status: true, cookie: true, xfbml: true, oauth:true}); 

function getin(){ 
    FB.login(function(response) { 
     if (response.authResponse) { 
      var regurl = "/login"; 
      location.href=regurl; 

     } else { 
      var regurl = "/logout"; 
      window.location.href=regurl; 
     } 
    }, {scope:'email'}); 

} 

をお試しください彼は/login urlになりますが、ユーザーが新しいユーザーの場合は、graphまたはfqlを使用して電子メールアドレスを取得できるようにすると、電子メールアドレスを要求するポップアップボックスが表示されます。 の中のBTWの応答FB.loginには、ユーザーID、access_tokeおよびいくつかのより有用なデータがありますので、今後の使用のために保存してください。

関連する問題