【问题标题】:Javascript search filter created_at still not working?Javascript 搜索过滤器 created_at 仍然无法正常工作?
【发布时间】:2018-05-10 17:01:00
【问题描述】:

我相信这是一个已知问题,但只是检查...当使用 javascript 和 sc.get 进行搜索时,created_at 搜索过滤器似乎被完全忽略了。仅使用“from”哈希进行了尝试,并将“from”和“to”哈希都用于 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 过滤器,无论我硬编码什么,我都会返回各种日期的歌曲。

【问题讨论】:

  • 除非您提供显示您的努力的代码,否则我们不知道您做了什么以及问题是什么
  • var qcreated='2018-01-01 00:00:00'; SC.get('/tracks', { created_at: { from: qcreated } }, function (tracks) { ...这里的其余代码... }
  • 我也使用其他过滤器,我只是简化了这一行。我的其余代码很广泛,因为它解析和排序传入的结果。不幸的是,传入的结果是各种日期,而不是过滤器指定的日期
  • 如果需要,您可以在retroresource.com/tezla 上查看完整的源代码并亲自测试它,只需按“查找音乐”按钮,它将根据您的搜索条件显示音乐及其属性。创建日期字段已预先填充,但可以更改以进行测试。更改它并按查找音乐。您会看到通常没有任何结果是该日期或之后

标签: javascript search soundcloud


【解决方案1】:

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

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

这适用于 SoundCloud SDK 的第 3 版——您的调用方法适用于第 1 版。

【讨论】:

  • 您使用的是 1.1.5 版本的 SDK,我找到的文档是 3.3.0 版本的。
【解决方案2】:

感谢大家的帮助,但我已经想通了。您不能同时使用 created_at 和流派过滤器。 API 中仍然存在一个错误,该错误将在优先级上发生冲突,并且只有流派:过滤器将产生结果,而 created_at 将被忽略。如果您遗漏了流派:过滤器,created_at 将起作用。两者同时工作的唯一方法是使用 created_at: last_year 而不是 from: 出于某种原因,这可行,但仅限于过去几年的上传。

【讨论】:

    猜你喜欢
    • 2021-04-21
    • 2019-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多