Php Facebook Connect:获得电子邮件权限后重定向到特殊URL
在我的应用程序中,我向用户请求电子邮件许可:Php Facebook Connect:获得电子邮件权限后重定向到特殊URL,php,facebook,Php,Facebook,在我的应用程序中,我向用户请求电子邮件许可: <fb:login-button perms="email">Give me your email</fb:login-button> 我尝试了“auth.sessionChange”和“auth.statusChange”事件,但它们也会在登录/登录时触发 我所需要的是我认为每个FB按钮都有自己的回调函数 thx您需要使用Graph API获取用户的电子邮件地址。有关图形的详细信息确定,然后尝试以下操作: FB.login
<fb:login-button perms="email">Give me your email</fb:login-button>
我尝试了“auth.sessionChange”和“auth.statusChange”事件,但它们也会在登录/登录时触发
我所需要的是我认为每个FB按钮都有自己的回调函数
thx您需要使用Graph API获取用户的电子邮件地址。有关图形的详细信息确定,然后尝试以下操作:
FB.login(function(result) {
if(result.session) {
location.href = '/login_successful.php'; // Or whatever
}
},
{perms: 'email'});
亲爱的,捕获登录事件并将用户重定向到您希望这样的位置 window.fbAsyncInit = function() { FB.init({appId: "XXXXXX", status: true, cookie: true, xfbml: true}); FB.getLoginStatus(function(response) { if (response.session) { //here you can redirect the user where do you want to redirect it self.location.href="http://www.yoursite.com/login.php"; } else { } }); FB.Event.subscribe("auth.login", function(response) { window.location.reload(); }); FB.Event.subscribe("auth.logout", function(response) { // to logout self.location.href="http://www.yoursite.com/logout.php"; }); }; (function() { var e = document.createElement("script"); e.type = "text/javascript"; e.src = document.location.protocol + "//connect.facebook.net/en_US/all.js"; e.async = true; document.getElementById("fb-root").appendChild(e); }()); window.fbAsyninit=函数(){ FB.init({appId:“XXXXXX”, 状态:正确, 曲奇:是的, xfbml:true}); FB.getLoginStatus(函数(响应){ if(response.session){ //在这里,您可以将用户重定向到要重定向的位置 self.location.href=”http://www.yoursite.com/login.php"; }否则{ } }); FB.Event.subscribe(“auth.login”),函数(响应){ window.location.reload(); }); FB.Event.subscribe(“auth.logout”),函数(响应){ //注销 self.location.href=”http://www.yoursite.com/logout.php"; }); }; (功能(){ var e=document.createElement(“脚本”); e、 type=“text/javascript”; e、 src=document.location.protocol+ “//connect.facebook.net/en_US/all.js”; e、 异步=真; document.getElementById(“fb根”).appendChild(e); }());
这两个答案都是有用的(对不起,因为声誉问题,我不能投票,我是新用户), 但我是这样解决的:
<script type="text/javascript">
function chkmyperm() {
jQuery.get("/user/chkmyperm", function(data){
if(data==1) {
window.location.reload();
}
});
}
</script>
<fb:login-button perms="email" onlogin="chkmyperm()">E-Mail Adresse freigeben</fb:login-button>
函数chkmyperm(){
jQuery.get(“/user/chkmyperm”,函数(数据){
如果(数据==1){
window.location.reload();
}
});
}
电子邮件地址:freigeben
使用onlogin属性,我回调一个自己的函数,该函数检查(通过ajax调用,调用phpsdkapi)用户是否给了我他的电子邮件权限,如果是,我刷新页面。我这样做是因为这种行为应该只在处理电子邮件权限时发生,而不是在其他事件(如登录/注销)时发生。是的,我知道这一点。我想知道的是,在用户给我电子邮件许可后,如何将其重定向到特殊页面?在权限弹出窗口打开的那一刻,用户“允许”,弹出窗口关闭,我仍然在同一页上。在pop关闭的那一刻,我想将用户重定向到某个URL。
<script type="text/javascript">
function chkmyperm() {
jQuery.get("/user/chkmyperm", function(data){
if(data==1) {
window.location.reload();
}
});
}
</script>
<fb:login-button perms="email" onlogin="chkmyperm()">E-Mail Adresse freigeben</fb:login-button>