我有一個問題,我的遊戲整合到Facebook。在閱讀有關文檔時,我讀到了從Flash中與FB進行通信的最佳和最新方式是通過javascript上的Facebook API。我稱之爲獲取所有ui對話框和基本登錄信息。現在,我的flash遊戲連接到PHP來發送和接收高分像這樣:??在PHP和Facebook API的API訪問_token
scores.php行動= NEWSCORE &用戶id = 123123123 &得分= 100
scores.php行動= VIEW
scores.php?action = VIEWFRIENDS & userId = 123123123
現在,在scores.php中,當我設置VIEWFRIENDS動作時,我想讓php創建facebook查詢。我加入
// Init the Facebook SDK
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
));
// Get the current user
$user = $facebook->getUser();
$access_token = $facebook->getAccessToken();
$fbresponse = $facebook->api("/me/friends?fields=installed", array('access_token'=>$access_token.$access_token,));
if ($fbresponse)
{
$friendsData = $fbresponse['data'];
$friendsString = '';
$friendCount = 0;
for ($i = 0; $i < sizeof($friendsData); $i++)
{
$friend = $friendsData[$i];
if ($friend['installed'])
{
if ($friendCount > 0)
$friendsString = $friendsString . ",";
$friendsString = $friendsString . "'" . $friend['id'] . "'"; $friendCount++;
}
}
// Get the friends highscores
$sql = "SELECT * FROM Highscores WHERE FacebookId IN (" . $friendsString . ") ORDER BY Score DESC LIMIT " . $scoresize ;
$result = mysql_query($sql);
}
當這樣做,一切似乎如果我測試它的Facebook以外的工作,但是當我把它融入我的應用程序,它會引發以下錯誤:
<br /> <b>Fatal error</b>: Uncaught OAuthException: Invalid access token signature. thrown in <b>/home/public_html/mysite.org/games/myGameFacebook/fb-php-sdk/base_facebook.php</b>
on line 1106
我我試圖檢查發生了什麼,我還沒有找到如何處理它。我明白訪問令牌是由JavaScript代碼登錄時生成的。
getLoginStatus:function() {
log("getLoginStatus");
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
log("Logged in.");
F.token = response.authResponse.accessToken;
F.getCurrentUserInfo();
} else if (response.status === 'not_authorized') {
log("User did not authorize app");
} else {
log("Not logged in.");
FB.login(function(response) {
if(response.session) {
log("Logging successful.");
F.token = response.session.access_token;
F.getCurrentUserInfo();
} else {
log("Logging failed.");
}
});
}
});
},
我該如何解決這個問題?我一直在努力去理解如何去做,但我已經閱讀了它或者是不可能的,或者鏈接到了一些從未有效的未知會話變量。