Javascript搜索过滤器created_at仍然无法正常工作?

时间:2018-05-10 17:01:01

标签: javascript search soundcloud

我认为这是一个已知问题,但只是检查...当使用javascript和sc.get进行搜索时,created_at搜索过滤器似乎完全被忽略了。尝试使用'来自'哈希,以及使用'来自'和'到'散列到created_to变量... nada。无论日期如何,我都会收到所有音乐我也使用正确的语法。即:2018-01-01 00:00:00。通话中的其他过滤器似乎工作正常。不确定客户端或服务器上是否存在问题,即请求是由于无法解析它。我将尝试使用CURL尝试包含此过滤器,看看它是否在那里工作,但我确实希望它能在我的javascript调用中工作。

相关代码(使用其他过滤器但已被剥离以简化测试):

var qcreated='2018-01-01 00:00:00'; 

SC.get('/tracks', { created_at: { from: qcreated } }, function (tracks) { ...rest of code here... }

代码位的其余部分是广泛的,并对结果进行解析和排序。不幸的是,查询似乎忽略了created_at过滤器,我得到了各种日期的歌曲,无论我的硬编码是什么。

2 个答案:

答案 0 :(得分:0)

根据documentationSC.get()返回一个promise,它不会将回调作为参数。所以它应该是:

SC.get("/tracks", { created_at: { from: qcreated } }).then(function (tracks) {
    // rest of code here
});

这适用于SoundCloud SDK的第3版 - 您的调用方法适用于版本1.

答案 1 :(得分:0)

感谢大家的帮助,但我已经明白了。您无法同时使用created_at和流派过滤器。 API中仍然存在一个错误,它将优先级冲突,只有类型:过滤器将产生结果,并且created_at将被忽略。如果你离开类型:过滤器,created_at将起作用。两种方法同时工作的唯一方法是使用created_at:last_year而不是:出于某种原因,这可行,但仅限于上传的最后几年。