我有一個Flash應用程序正在使用Big Spaceship類(http://www.bigspaceship.com/blog/labs/bss-classes-flash-and-the-fb-graph/ )執行授權。這個工作正常,直到Facebook推出了Canvas的POST。正如遷移文檔中所建議的,我已經在應用程序設置中爲Canvas激活了POST,並且更改了將會話數據拉到的PHP從使用$ _GET到$ _REQUEST,但是在$ _REQUEST對象中不再有一個名爲session的參數。Facebook的畫布缺少會話
<?php
$session = '';
if(isset($_REQUEST["session"]))
{
$session = urldecode($_REQUEST["session"]);
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE'))
{
$session = htmlspecialchars($session);
}
}
?>
這應該是包含來自Facebook,這大飛船OAuthBridge類要求所有會話的數據的JSON字符串。有誰知道爲什麼這些數據不再存在,或者舊的JSON屬性名稱是什麼,所以我可以自己重建它?
這就是整理我,謝謝!對於使用Big Spaceship代碼的其他人,您必須用base64解碼$ _REQUEST ['signed_request']替換最初的PHP。小心不要json_decode,因爲BS的OAuthBridge期望接收JSON字符串,而不是解碼對象。 – shanethehat 2011-03-18 10:38:08