2012-04-05 5 views
1

私はFacebookのJS SDKを使用してFacebookページタブアプリケーションを開発しています。ランディングページにはボタンがあります。クリックされると、ユーザーはそうしなければアプリケーションのインストールを求められます。Facebook SDK:FB.Loginのポップアップボックスの代替

コードは以下の通りです:デフォルトFB.Loginことで

<script type="text/javascript"> 
function installApp() { 
    FB.login(function(response) { 
     if (response.authResponse) { 
      var accessToken = response.authResponse.accessToken; 
     } 
     if (response.status === 'connected') { 
      window.location = 'share.php'; 
     } else { 
      alert('Please install app first'); 
     } 
    }, {scope:'friends_likes,email'}); 
} 
</script> 

は許可を求めるポップアップボックスになります。ポップアップボックスを回避する方法はありますか?私はFacebookの他のアプリがこれを成功裏に達成したのを見たことがありますが、どうしたのか分かりません。

答えて

1

Authentication documentationを経由しましたか?

ご利用いただけるすべてのオプションをカバーしています。すなわち:

  1. Client-Side Authentication
  2. Server-Side Authentication
  3. Authentication within a Page Tab

あなたはおそらく、これらのアプローチのいずれかを使用することができますが、第三は、おそらく最もよくフィットします。

+3

答えを受け入れ、この答えがどのように正確に役立つのかを決して投稿しないでください。 :\ – dimitarvp

2

あなたは

function fbLogin() { 
    var oauth_url = 'https://www.facebook.com/dialog/oauth/'; 
    oauth_url += '?client_id=APP_ID_HERE'; 
    oauth_url += '&redirect_uri=' + encodeURIComponent('https://apps.facebook.com/APP_NAMESPACE/'); 
    oauth_url += '&scope=email' 
    window.top.location = oauth_url; 
} 

、あなたはのonclickイベントにカスタムボタンで呼び出すことができ、このためのグラフAPIコールではJavaScript APIを使用することができますどのように人々私はそれを嫌う

<a href="#" onclick="return fbLogin();">Custom Login</a> 
+0

この方法はまだ2017年に素晴らしい作品です!ポップアップを避けてください! redirect_uriが正しいことを確認してください。アプリのドメインリストに追加する必要があるかもしれません –