可以建议一种方法来授权我在 Facebook 中的 Web 应用程序以获取 access_token 而无需重定向?我发现这实际上可以通过已弃用的 Facebook REST API 实现,但我无法注册新的应用程序来使用它。
问候,汤姆
可以建议一种方法来授权我在 Facebook 中的 Web 应用程序以获取 access_token 而无需重定向?我发现这实际上可以通过已弃用的 Facebook REST API 实现,但我无法注册新的应用程序来使用它。
问候,汤姆
您只能使用 facebook javascript 库来完成此操作。使用 PHP 库,您只能将它们重定向到 facebook……如果它们在 facebook 上取消,它们现在就会离开您的站点。
使用 javascript 库,您将获得一个模式窗口,如果它们取消,则留在您的页面上。
以下是关于如何使 javascript 按钮出现在您的页面上并进行简单的登录检查的简短说明:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
// Initialize Facebook Connect
FB.init({
appId : 'YOUR_FACEBOOK_APP_ID_HERE',
status : false, // Check login status
cookie : true, // Enable cookies to allow the server to access the session
xfbml : true, // Parse XFBML
oauth : true
});
};
// Get Facebook Connect JS and append it to the DOM
(function() {
var e = document.createElement('script');
e.async = true;
e.src = document.location.protocol+'//connect.facebook.net/en_US/all.js#xfbml=1';
document.getElementById('fb-root').appendChild(e);
}());
function fbLoginCheck(response){
if(response.status != 'unknown'){
//reload or redirect once logged in...
window.location.reload();
}
}
</script>
<a class="fb_button fb_button_medium"
onclick='FB.login(fbLoginCheck,{ scope: "user_about_me,user_location,user_birthday,email,publish_stream"})'>
<span class="fb_button_text">Join with Facebook</span></a>