【发布时间】:2012-01-01 16:01:33
【问题描述】:
我想更改页面 url 的位置,并且我强烈希望在单独的窗口中打开权限请求对话框。
这是我正在使用的 JavaScript:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'XXXXXXXXXXXXXXX',
status : true,
cookie : true,
xfbml : true
});
};
(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>
在单独的窗口中出现的对话框并没有出现在所有浏览器中,该死的 IE...
PHP:
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => 'XXXXXXXXXXXXXXXXXXXXXXXXX',
'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
));
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
// n or logout url will be needed depending on current user state.
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl( array(
'scope' => 'publish_stream,user_birthday,email,offline_access',
'next' => 'LINK HERE',
));
}
【问题讨论】:
-
你能分享整个代码吗?上面的 sn-p 不会提示用户安装你的应用!
-
您还在寻找什么?
-
是什么触发了身份验证对话框打开?如果您查看example.php 和文档,您会发现可以构造登录 url 并将用户重定向到它。
-
您不能使用 XFBML 按钮并且没有对话框。你也应该使用
redirect_uri而不是next
标签: javascript facebook facebook-graph-api oauth