0

ページタブアプリケーションがあり、ユーザーが最初にタブにアクセスしたときに(ユーザーの電子メールを使用するために)許可を要求したいのですが。
これは十分に単純なはずだと思いましたが、何百ものQ&A、チュートリアル、php / js API、新旧のメソッド/関数/テクニックに迷いました。どちらが私のニーズに合う正しい方法かさえわかりません。

私のアプリが行っていることは簡単です:

if (user_has_liked_page())
    include ("fan.php");
else
    include ("guest.php");

私がやろうとしているのは、許可を要求するこのfb「ポップアップ」を用意することです。できれば、ページが好きなユーザーのみを対象としています。

facebook docs/apiのすべてのURLで返信しないようにお願いします。私はそれらの多くを試しました。

可能であれば、これらすべてのテクニックのどれが状況に適しているかを知りたいです。
例も歓迎します。

前もって感謝します。

4

1 に答える 1

2

JS ソリューションの場合、fan.php ファイルで次のようなものを試すことができます。

<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
  appId      : 'YOUR_APP_ID', // App ID
  channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
  status     : true, // check login status
  cookie     : true, // enable cookies to allow the server to access the session
  oauth      : true, // enable OAuth 2.0
  xfbml      : true  // parse XFBML
});

// Additional initialization code here
};

// Load the SDK Asynchronously
(function(d){
 var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
 js = d.createElement('script'); js.id = id; js.async = true;
 js.src = "//connect.facebook.net/en_US/all.js";
 d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>

<button id="fb-login">Login & Permissions</button>

<script>
document.getElementById('fb-login').onclick = function() {
var cb = function(response) {
if (response.status === 'connected') {
  //user is logged in here and you have email scope already
} else {
  alert('Click the "Login and Permissions" button so we can send you emails');
}
};
FB.login(cb, { scope: 'email' });
};
</script>

channel.html の内容は

 <script src="//connect.facebook.net/en_US/all.js"></script>

これをテストする時間がなかったので、公式ドキュメントからほとんどを取り上げました。あなたがリンクを望まないと言ったのは知っています。しかし、このページは役に立つかもしれません

https://developers.facebook.com/docs/reference/javascript/

ここにあるjavascript APIをいじることができるテストコンソールもあります

https://developers.facebook.com/tools/console/

于 2011-12-06T13:19:34.527 に答える