2012-09-11 62 views
1

我正在使用Facebook PHP SDK解碼已簽名的請求(由JS SDK提供)。已解碼的響應正在發送算法,代碼,issued_at時間戳和用戶標識。在過去,我已經能夠從請求(app_data文件,網頁和喜歡布爾)拉更多的領域,更多的到更多的Facebook的文檔頁面上定義:Facebook簽名請求部分響應

https://developers.facebook.com/docs/authentication/signed_request/

有什麼我無法訪問這些額外字段的原因?該應用程序已安裝,並且位於頁面選項卡內,我無法看到爲什麼它不會提供更多字段的具體原因,特別是app_data和page。

我也嘗試使用上面的鏈接示例解碼簽名的請求,並仍然收到相同的響應。

http://cl.ly/image/1p0n1S3S0y0M

回答

3

我使用Facebook的PHP SDK來解碼簽名的請求(由JS SDK中提供)。

這意味着您從FB.login或FB.getLoginStatus獲得的signed_request,我想?您只能從其中一個獲得這裏描述的數據,https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

您提到的其他信息,頁面ID,用戶是否喜歡該頁面等等,僅在Facebook發佈的signed_request中可用您的應用在初始加載時。

+1

這是修復。 JS signed_request與POST提供的不同(Facebook SDK可以解析的)。完善! –

+0

只是爲了澄清 - 通過POST提供的簽名請求是否可以在客戶端被捕獲?還是隻能在服務器端訪問? (即FB PHP SDK需要參與) – user1775598

+0

JavaScript無法訪問POST數據,您將需要某種服務器端語言來訪問POST數據。 – CBroe