2011-11-15 104 views
0

我是Facebook開發新手。我有一個遊戲嵌入在我的服務器的HTML文檔中。我能夠通過Oauth的授權,一切似乎都在起作用。 現在,我使用Facebook PHP SDK完成所有用戶授權和應用程序認證之後,我現在在我的www.myserver.com/index.php中如何開始我的遊戲(即,在IFRAME中運行我的HTML文件) 。所以要更清楚一點,最後一塊應用驗證碼是 //如果用戶已連接到您的應用,請執行以下操作。 $ signed_request = $ facebook-> getSignedRequest(); //從signed_request令牌獲取數據。 //確定應該用於API調用的訪問令牌。 $ access_token = $ facebook-> getAccessToken(); 現在在這一點上,我該如何將Facebook重定向到我的html文件!我嘗試了 $ appurl =「mygame.html」; echo''; 但是,我得到一個空白頁和Internet Explorer給出了消息Facebook應用程序界面問題

此內容不能顯示在框架 爲幫助保護您進入這個網站的信息的安全性,該內容的發佈者並沒有允許它被顯示在一個框架中。 你可以嘗試: 在新窗口中打開此內容

有人可以幫助我!

回答

0

考慮認證的流程。

客戶端 - >您的畫布頁面 - >您的服務器。

現在,你就會知道他們是未經驗證的,因爲在第2步,你會得到一個空signed_request,它只是包含在這一點上,你的編碼,即,「HMACSHA256」

所以,可以返回一個HTML網頁,將轉發瀏覽器的OAUTH允許頁面。

例如

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en" > 
    <script> 
     window.top.location = 'FacebookOauthURL'; 
    </script> 
</html> 

然後,當他們讓你,讓你指定登錄URL的REDIRECT_URI,Facebook將其轉發到該網址。在大多數情況下,這將是畫布頁重新e..g

https://www.facebook.com/dialog/oauth/?client_id=YOUR_APP_ID&scope=PERMISSIONS&redirect_uri=YOUR_CANVAS_PAGE 

所以當他們再次來到我身邊你的畫布頁面,你會得到填充了用戶數據的signed_request參數。

+0

James,謝謝你的迴應。我多次閱讀你的回覆,但仍然感到抱歉抱歉和我在一起。我正在通過認證成功。我的問題是當他們第二次來到我的畫布頁面時,我得到了簽名請求「$ signed_request = $ facebook-> getSignedRequest();」和訪問令牌「$ access_token = $ facebook-> getAccessToken();」在這一點上一切都很好。但是現在,我在我的畫布頁面中,如何加載位於畫布頁面內的我的服務器中的我的html頁面「mygame.html」? –

+0

嗯,我想你的mygame.html將需要從你的PHP動態生成,它的內容根據用戶的登錄狀態而改變。 –

0

如果您在IE8或更低版本上收到此消息,可能是因爲其實施了Platform for Privacy Preferences

我不明白的是我自己,因爲我在this page閱讀:

您可以通過鏈接閱讀所有有關的無聊的東西,否則只是 安裝下面的P3P精簡政策頭。這將允許Internet Explorer接受您的第三方cookie。您需要在設置Cookie的每個頁面上發送 標題。

要做到這一點只需添加這行代碼,將設置頁眉爲您所有的HTTP響應:

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');