我尝试构建一个使用Soundcloud API的NodeWebkit应用程序 但我已经在连接/登录过程中失败了。
在NodeWebkit中,用户可以将应用程序安装在硬盘上的任何位置
所以redirect_uri永远不会相同。
在网络服务器上托管重定向页面将无法正常工作
{不同协议“file://”和“https://”)
我在这里尝试了API Doku的不同方法 http://developers.soundcloud.com/docs#authentication 但没有结果。
我如何将Soundcloud API与NodewebKit一起使用?
提前致谢。
答案 0 :(得分:2)
发现NodeWebkit问题后,我看到了这个帖子: https://github.com/rogerwang/node-webkit/issues/542
它描述了NodeWebkit IFrame的一种方式: 我的代码看起来像这样:
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;
希望它可以帮助其他人解决同样的问题。
答案 1 :(得分:1)
对于基于文件的解决方案,也许您每次都可以使用节点模块的__dirname
__filename
变量构建本地redirect_uri。
对于基于Web服务器的解决方案,由于node_remote
属性允许您在原始“localhost”或其他内容中调用节点apis,因此您应该能够将soundcloud数据与callback.html opener(也就是您的连接页面)同步)通过节点中的上下文。