繁体   English   中英

Facebook页面标签oauth

[英]facebook page tab oauth

我有一个页面选项卡应用程序,我希望它在用户第一次访问选项卡时请求权限(使用用户的电子邮件)。
我认为这应该足够简单,但我已经迷失在hundrends q&a,教程,php / js apis,新旧方法/功能/技术中。 我甚至不确定哪种方式适合我的需要。

我的应用程序正在做的事情很简单:

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

我想要做的是有这个fb“弹出窗口”请求许可 - 最好只为喜欢该页面的用户。

我恳请你不要回复facebook docs / api的所有网址,我已经尝试了很多这些网址。

如果可能的话,我想知道哪种技术适合这种情况。
也欢迎举例。

提前致谢。

对于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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM