2013-03-14 41 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