簡體   English   中英

在Windows 8 HTML5 / JavaScript應用中使用Facebook對話框

[英]Using Facebook Dialog in Windows 8 HTML5/JavaScript App

我正在遵循對話框文檔,以嘗試在Windows 8 Store應用程序(html5 / javascript)中顯示對話框。

https://developers.facebook.com/docs/reference/dialogs/

在Windows 8 Store應用程序中,我們必須使用iframe來顯示另一個網頁。 這是我所做的一個示例:

<iframe src="https://www.facebook.com/dialog/feed?app_id=145634995501895&redirect_uri=http://www.facebook.com&show_error=true&display=iframe&access_token={access_token}"></iframe> 

由於它是iframe,因此我指定了display = iframe和access_token = {access_token}。 如果要嘗試,請記住更改access_token。

我收到以下錯誤:

API Error Code: 110
API Error Description: Invalid user id
Error Message: Missing user cookie (to validate session user)

在此處輸入圖片說明

我想這可能是由於用戶尚未登錄引起的。 在文檔( https://developers.facebook.com/docs/reference/dialogs/ )中,它說:“如果用戶尚未登錄,Facebook將在顯示您調用的對話框之前提示他們登錄。” 我想知道如何提示用戶登錄? 我是否錯過了一個提示用戶登錄的參數? 我查看了參數,但似乎什么也沒找到。

感謝您的幫助。

我看到的行為與您不同,我將在此處進行記錄,即使它可能不是“您的答案”。

我獲得了自己的訪問令牌,並且在使用您的IFRAME時,確實看到了嘗試重定向到Facebook.com進行登錄的嘗試; 但是,這之后是JavaScript控制台中的安全錯誤-包括以下內容:

APPHOST9613:該應用無法導航至https://www.facebook.com/login.php?api_key=177388709024886&skip_api_login=1 ...,因為存在此錯誤:FORBIDFRAMING。

對login.php腳本的請求生成帶有X-FRAME-OPTIONS標頭的DENY響應。 實際上,這確實會阻止來自Facebook的登錄頁面出現在應用程序的IFRAME中-因此是FORBIDFRAMING。

MSDN論壇線程上也有一些討論,雖然討論的時間過短 ,但是從那時起就不知道有任何更改。

我尚未嘗試使用Windows Azure移動服務直接使用Window 8應用程序登錄Facebook,但這可能是嘗試的方法。 Azure移動服務的設置非常簡單,因此您將很快知道HTML5 / JS Windows Store應用程序中是否仍然存在問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM