1
可以建議一種方法來授權我的Web應用程序在Facebook上獲得access_token而不需要重定向?我發現這實際上可以使用棄用的Facebook REST API,但我無法註冊新的應用程序來使用它。如何在不重定向的情況下向Facebook進行身份驗證?
問候, 心理理論
可以建議一種方法來授權我的Web應用程序在Facebook上獲得access_token而不需要重定向?我發現這實際上可以使用棄用的Facebook REST API,但我無法註冊新的應用程序來使用它。如何在不重定向的情況下向Facebook進行身份驗證?
問候, 心理理論
只能與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>
的公平性,我知道用JS仍有不可能不與圖形重定向API。它只能用REST API ... – ToM
你發佈的例子仍然需要重定向。它在FB的應用程序設置中設置。 – ToM
@TomaszŚcisło我只是做一個window.location.reload();但這可能是一個Ajax調用本地php文件,使用facebook php api獲取令牌並將其傳回客戶端。 – Ray