1
  1. 任何人都知道如何在特定用户的播放列表(集)中制定曲目的搜索语法?
  2. 一旦我有了它,我如何使用像 oembed 这样的东西来显示匹配的曲目?

1 搜索语法

http://developers.soundcloud.com/docs/api/guide#search说:

可以使用我们的 API 搜索声音、用户、集合和组等资源。大多数端点将接受 aq 参数,您可以使用它来指定要在标题、用户名、描述等字段中搜索的关键字,具体取决于资源类型。

那么,究竟如何通过搜索词过滤给定用户集的播放器呢?

我认为https://soundcloud.com/search/sounds?q=newchoir%20100%20years%20tenor&filter.user=newchoir可能有效,但它没有。

具体来说,我有兴趣在我的网站上嵌入一个播放器(它顺便使用了 Atlassian Confluence,但我认为我们现在可以忽略它。)

我想显示的唯一曲目属于该用户:https ://soundcloud.com/newchoir - 我明确需要排除任何其他用户。

我希望能够在这样的集合中搜索:https ://soundcloud.com/newchoir/sets/tenor-rehearsal-tracks

所以我想要的搜索是:

  • 按“第 4 周”周
  • 按标题“100 年”

我们将星期和歌曲名称作为文本放在标题字段中。


2 嵌入式

http://developers.soundcloud.com/docs/oembed#introduction展示了如何处理 Soundcloud URL 以返回包含包含该 URL 的可嵌入播放器的结构。

http://oembed.com继续说,对于许多类型,该结构在 JSON/XML 中包含一个“html”元素,然后可以通过 javascript 提取该元素。

https://github.com/starfishmod/jquery-oembed-all提供了一个支持 soundcloud 的 jquery 提取器。

但是,oEmbed 方法仅支持http://soundcloud.com/ URL,而不支持http://api.soundcloud.com URL。


所以,我读对了吗:

  1. 我要写代码吗?不能只在我的网站中嵌入“iframe src=”吗?
  2. 我需要使用 api.soundcloud + 客户端密钥吗?似乎矫枉过正
  3. 无法在特定 Soundcloud 帐户中搜索给定的命名曲目并显示与这些术语匹配的播放器?
4

1 回答 1

2

任何人都知道如何在特定用户的播放列表(集)中制定曲目的搜索语法?

我认为您必须执行 API 请求才能获取用户集 ( http://api.soundcloud.com/users/USER_ID/playlists.json?client_id=YOUR_CLIENT_ID),然后搜索那里的曲目。

一旦我有了它,我如何使用像 oembed 这样的东西来显示匹配的曲目?

它实际上确实适用于 API URL https://soundcloud.com/oembed.json?url=https%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F64492288:. 但是您可以节省一个 HTTP 请求并使您的应用程序更快,通过replace对字符串的简单调用(例如,在 JavaScript 中)创建 HTML 代码:

var template = '<iframe width="100%" height="" scrolling="no" src="http://w.soundcloud.com/player/?url=API_URL" frameborder="0"></iframe>';
var html = template.replace('API_URL', 'https%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F64492288');

… 我需要使用 api.soundcloud + 客户端密钥?似乎矫枉过正

不是,这正是 API 的用途,它可以让你对你正在做的事情有更大的灵活性。

于 2013-02-05T09:53:11.183 回答