2016-01-22 110 views
3

我正在构建一个移动应用程序,使用英特尔xdk以及hello.js(客户端JavaScript sdk)进行Facebook登录,因为它是唯一使fb在英特尔登录工作。
尽管hello.js看起来很简单,但我很难弄清楚这些说明。 这是hello.js文档提供的init代码。 https://adodson.com/hello.js/hello.js facebook登录重定向uri不支持,应用ID无效

hello.init({ 
    facebook: ************, 
    windows: WINDOWS_CLIENT_ID, 
    google: GOOGLE_CLIENT_ID 
}, {redirect_uri: 'index.html'}); 

我需要注意的是,我在英特尔XDK模拟器测试这一点,在我的iPhone,并在Chrome浏览器。根据我测试的位置,我得到两个不同的错误。我得到“应用程序ID无效”,或“重定向uri不支持”。有没有不同的方式我应该写的重定向uri。

*** UPDATE **** 我摆脱了“窗口”和“谷歌”属性,因为我没有使用它们中的任何一个进行登录。我还将“google”换成了重定向uri。当我使用www.google.com时,它不起作用,但当我使用https://www.google.com时,DID工作。所以我认为使用“https”很重要。这就是现在这个init代码块的样子:

hello.init({ 
      facebook: '178363645852696' 
     }, {redirect_uri: "https://www.google.com"}); 

这是我现在得到的不同错误。在intel-xdk模拟器上,它适用于谷歌没有问题。在设备上它告诉我我没有登录(这是不正确的)。在Chrome,在弹出的窗口中的消息说,这:

给定的URL在客户端的OAuth设置中未列入白名单:这种重定向 失败,因为重定向URI没有在应用程序的客户端 的OAuth设置白名单。确保客户端和Web OAuth登录处于打开状态,并将所有应用程序域添加为有效的OAuth重定向URI。

我会继续努力解决这个问题并更新我的解决方案,但需要额外的解决方案。

回答

0

您使用的sdk适用于不适用于科尔多瓦应用程序的网站。

如果你有一些代码在本地,并使用英特尔XDK构建应用程序,然后使用一个Facebook科尔多瓦插件是最好的解决办法,在这里是如何让Facebook的API在英特尔XDK工作教程:

https://software.intel.com/en-us/xdk/article/facebook-connect-plugin-android-ios

+0

你怎么知道这只适用于网站?我使用hello.js的原因是因为我无法让cordova插件为我工作。我想要一个更简单的解决方案。我已经通过了英特尔的文章,它不适合我。 – Spilot

+0

如果你使用hello.js,你还应该添加InAppBrowser插件到项目中来让oauth工作,试试吧。 – krisrak

+0

好吧,我只是抬头InAppBrowser,它不是很清楚,我这是如何工作与hello.js .. – Spilot