4

我正在尝试构建一个使用 Soundcloud API 的 NodeWebkit 应用程序。
但是我已经在连接/登录过程中失败了。

在 NodeWebkit 中,用户可以在他的硬盘驱动器上的任何位置安装应用程序,
这样 redirect_uri 就不会相同。
在网络服务器上托管重定向页面将不起作用。
{不同的协议“file://”和“https://”)


我在这里http://developers.soundcloud.com/docs#authentication尝试了 API Doku 的不同方法, 但没有结果。

我如何将 Soundcloud API 与 NodewebKit 一起使用?

提前致谢。

4

2 回答 2

2

在发现 NodeWebkit 问题后`si 看到了这个线程: https ://github.com/rogerwang/node-webkit/issues/542

它描述了 NodeWebkit IFrames 的一种方式:我的代码如下所示:

var def     = $.Deferred();        
var $iframe = $('<iframe nwfaketop nwdisable></iframe>')
                .attr('src', SoundCloud.ConnectUrl)
                .load(function(e) {

                    var parser      = document.createElement('a');
                        parser.href = this.contentWindow.location.href;

                    var search = parser.search.substr(1, parser.search.length);
                    var result = URLToArray(search);

                    if (result.error !== void 0) {
                        $iframe.remove();
                        def.reject(result.error_description);
                    }

                    if (result.code !== void 0) {
                        SoundCloud.LoginCode = result.code;
                        $iframe.remove();
                        def.resolve();
                    }
                })
                .appendTo($(opts.iframe));

return def;

希望它可以帮助其他有同样问题的人。

于 2013-09-23T09:43:47.827 回答
1

对于基于文件的解决方案,也许您可​​以每次使用__dirname __filename节点模块的变量构造一个本地 redirect_uri。

对于基于网络服务器的解决方案,由于node_remote属性允许您在源“localhost”或其他任何内容中调用节点 api,因此您应该能够通过节点中的上下文将 soundcloud 数据与 callback.html 开启程序(也称为您的连接页面)同步。

于 2013-09-22T07:11:45.927 回答