2013-03-14 40 views
4

我使用建立一個新聞閱讀器上下的桌面應用程序節點的WebKit節點的Webkit Facebook的整合

https://github.com/rogerwang/node-webkit

這基本上是服務器和客戶端在同一時間。我的Facebook API的問題如下:我希望我的應用程序的用戶登錄並向他們展示他們當前的牆貼和這樣的東西。另外,我還有一些來自其他來源的新聞項目,這些新聞項目應該可以從這位用戶那裏獲得/分享。

整個應用程序是一個單頁JS(更確切地說:咖啡標記)的事情與多個組件,硬重定向是不可能的。

API中顯示的每個登錄可能性似乎都不適合我的類型的應用程序。連接到臉書的最佳方式是什麼,沒有硬重定向,沒有自己的URI重定向到?

+0

[客戶端SDK](https://developers.facebook.com/docs/reference/javascript/)可以在不刷新頁面的情況下登錄並獲取身份驗證令牌。 – josh3736 2013-03-14 21:00:14

+0

使用教程頁面中未修改的代碼:無法加載資源文件://connect.facebook.net/en_US/all.js ...跨域問題?我剛剛刪除了channel-attribute(沒有URI),並設置了正確的AppID。 – Hisako 2013-03-14 21:24:23

+1

您必須使用絕對網址,而不是文檔中的協議相關網址。將'js.src =「// connect.facebook.net /'...修改爲'https:// connect.facebook.net /'... – josh3736 2013-03-14 21:26:31

回答

3

如果你正在開發一個獨立的客戶端應用程序,而不是一個網站,我不會嘗試使用他們的Javascript API,因爲它假設它正在某個網站上運行。

您可能會更喜歡unofficial Node.js APIs,因爲node-webkit允許您從DOM內調用任何Node.js庫。

如果您仍然沒有成功,請嘗試讓用戶登錄Facebook本身,並在中顯示其登錄頁面。然後,您可以通過AJAX或通過Node.js HTTP API進行HTTP調用,以直接調用Facebook的內部API。

+0

我的主要問題是關於獲取簡單的訪問令牌。然而,我找到了一個解決方案,使用子窗口。+1引導我離開他們的客戶端sdk,另一個+1將我指向如果沒有人提供另一個天才解決方案,你會得到賞金:) – Hisako 2013-03-18 19:24:32

+0

@Hisako我面臨同樣的問題我想在一個節點的webkit應用程序中集成一個facebook連接我只想檢索訪問令牌。你是怎麼做到的?我有同樣的錯誤「應用程序的設置不允許使用一個或多個給定的URL,它必須與網站URL或Canvas URL匹配,或者該域必須是其中一個應用程序域的子域。你談論兒童窗口。你什麼意思?非常感謝!! – mathieurip 2014-05-20 17:20:21

+2

我在我的App中打開了新的子窗口中的OAuth URL,並「觀看」了網址。一旦用戶登錄,網址就會變成一些在'#'符號後添加訪問令牌的東西。 – Hisako 2014-05-21 11:43:12