2011-12-14 21 views
2

我包括FaceBook的JS SDK這樣的不兼容:all.js - 不能FB.getSession用的OAuth2

<script src="http://connect.facebook.net/en_US/all.js"> 

但最終我的螢火得到這個錯誤:

FB.getSession incompatible with OAuth2. http://connect.facebook.net/en_US/all.js 

我完全失去了。我一直試圖弄清楚昨天以來發生了什麼,但沒有運氣。難道我做錯了什麼?

回答

0

嘗試這些修改:

1) Upgrade to Facebook PHP SDK 3.1.1 (if you are using that) 
2) Modify <fb:login-button> "perms" attribute to "data-scope" 
Before: 
<fb:login-button perms="email" on-login="my_function_login_complete(arguments)"> 
Facebook Logon 
</fb:login-button> 
After fix: 
<fb:login-button data-scope="email" on-login="my_function_login_complete(arguments)"> 
Facebook Logon 
</fb:login-button> 
3) Replace JavaScript function call "FB.getSession" for "FB.getAuthResponse" 
4) Alter JavaScript function parameter "response" in "FB.login()" 
a) response.session => response.authResponse 
b) response.session.access_token => response.authResponse.accessToken 
Before: 
FB.login(function(response) { 
    if (response.session) { 
    console.log("User is connected to the application.」); 
    var accessToken = response.session.access_token; 
    } 
}); 
After fix: 
FB.login(function(response) { 
    if (response.authResponse) { 
    console.log("User is connected to the application.」); 
    var accessToken = response.authResponse.accessToken; 
    } 
}); 
5) Alter JavaScript function parameter "response" in "FB.getLoginStatus()" 
a) response.session.user_id => response.authResponse.userID 
b) response.session.access_token => response.authResponse.accessToken 
Before: 
FB.getLoginStatus(function(response) { 
    if (response.status === 'connected') { 
    var uid = response.session.user_id; 
    var accessToken = response.session.access_token; 
... 
After fix: 
FB.getLoginStatus(function(response) { 
    if (response.status === 'connected') { 
    var uid = response.authResponse.userID; 
    var accessToken = response.authResponse.accessToken; 
... 

更多細節在這裏: https://developers.facebook.com/blog/post/503 https://developers.facebook.com/blog/post/525

祝你好運! :)