【问题标题】:Filtering Soundcloud results by tags按标签过滤 Soundcloud 结果
【发布时间】:2014-07-15 00:19:08
【问题描述】:

我正在使用这个东西:http://grouprecorder.soundcloudlabs.com——Soundcloud 的录音小工具。我让它按预期工作,录制曲目并将其上传到指定的组,并列出该组的曲目。然而,最重要的是,我想添加一个简单的功能,在博客上制作一个实验性的音频评论系统。

为了做到这一点,我必须区分在不同帖子上制作的 cmets。我设法做到了,将 WordPress 帖子的 ID 传递给小部件的 iFrame,并将其作为 SoundCloud 轨道标签进行。它会准确地上传。

然而,一旦我想过滤要在小部件中列出的曲目,只显示带有正确标签的曲目,我有点迷失了。

这是原始代码:

return SC.get(GR.groupUrl + "/tracks", { limit: 5, },

足够简单。我已经尝试添加所有标签的变体,taglist,tag_list,这似乎是遥不可及的,如:

return SC.get(GR.groupUrl + "/tracks", { limit: 5, tags: postIDtag },

postIDtag 是我原本运行良好的 postID 变量。

然而,小部件不断发布该组曲目的整个列表,未经过滤。

其他人过去似乎也遇到过相关问题。似乎不可能同时按用户和标签进行过滤。或许团体也是如此。如果是这样,我可以单独使用标签,因为我可以使它们足够具体以排除组外的任何曲目。但是我是 javascript 的新手,所以我不确定是我还是他们,这是错误的。谁能帮帮我,还是我在尝试 API 不支持的东西?

【问题讨论】:

    标签: javascript tags filtering soundcloud


    【解决方案1】:

    过去我用 Soundcloud API 做了大量工作,发现用于在页面上呈现特定数据的 API 本身非常……糟糕。

    我为避免这些问题所做的就是使用轨道阵列本身,而不是通过 soundcloud API 使用阵列。这是一个例子:

    $.getJSON("http://api.soundcloud.com/groups/57713/tracks.json?client_id=YOUR_CLIENT_ID", function(data) {
        var tracks = $.map(data, function(track) {
            return {
                track: track.title,
                stream: track.stream_url + '?client_id=YOUR_CLIENT_ID',
                tags: track.tag_list
            };
        });
        console.log(tracks);
    });
    

    更新日期:27.05.2014

    您现在将在控制台中看到两个单独的日志:

    • console.log(data) 显示从 soundcloud 返回的对象
    • console.log(this.tracks) 以操纵形式显示 soundcloud 中的对象。

    【讨论】:

    • 谢谢。你的意思是完全可以绕过API直接查询数据库?这意味着我的学习曲线比我预期的要陡峭,但最终应该会解决这个问题。
    • 我在尝试实施解决方案时收到一条错误消息:GET … 404 (Not Found) 我确定 ID 是正确的,并且与我初始化时使用的相同。
    • 通过了。必须从您提供的 URL 示例的开头删除“api”。这给我留下了一个完全不同的问题:请求的资源上没有'Access-Control-Allow-Origin'标头。因此,不允许访问源“myurl.com”。我坚信这个后门访问最终会以某种方式打开。
    • 我认为您需要链接中的 API,否则您不会得到正确的返回,但是当您从其他站点/服务请求数据并且您需要使用 JSONP 而不是 JSON 时会发生该错误。你能告诉我你在使用带有 API 的链接时遇到的错误吗?
    • 感谢您的时间和精力。我还不允许 1-up 答案,但我肯定已经这样做了。在任何情况下:当我写时:_jQuery.getJSON("api.soundcloud.com/groups/[mygroup]/…", function(data) { _ 我得到:_GET api.soundcloud.com/groups/simsvari/… 404 (Not Found) _. 将 JSON 更改为 JSONP,因此无法识别,并且得到一个“未定义”的错误。我正在寻找如何加载该库并继续前进的路上——但如果你在这个阶段有任何提示,我将不胜感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多