我正在构建一个移动应用程序,使用英特尔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。
我会继续努力解决这个问题并更新我的解决方案,但需要额外的解决方案。
你怎么知道这只适用于网站?我使用hello.js的原因是因为我无法让cordova插件为我工作。我想要一个更简单的解决方案。我已经通过了英特尔的文章,它不适合我。 – Spilot
如果你使用hello.js,你还应该添加InAppBrowser插件到项目中来让oauth工作,试试吧。 – krisrak
好吧,我只是抬头InAppBrowser,它不是很清楚,我这是如何工作与hello.js .. – Spilot