【问题标题】:Soundcloud API /resolve method 404 errorSoundcloud API /解决方法404错误
【发布时间】:2013-09-12 01:24:36
【问题描述】:

这里是一个简单的凹坑——尝试使用 Soundcloud 的 resolve 方法来检索 私有集的轨道数据的 JSON 提要。


http://api.soundcloud.com/resolve.json?url=http://soundcloud.com/myUser/private-set

resolve 返回一个 401 未经授权的错误,这是应该的

http://api.soundcloud.com/resolve.json?url=http://soundcloud.com/myUser/private-set&client_id=myClientID

resolve 返回“404”未找到错误。它应该是 301 重定向到轨道的授权 JSON 提要,例如文档示例中的http://api.soundcloud.com/tracks/49931.json


  • 我有created an App

  • 我正在使用应用的客户端 ID

  • 我已在 Set 的编辑菜单中启用应用访问

  • 我正在按照API docs对其进行格式化

我错过了什么吗?

【问题讨论】:

  • 您尝试访问的集合是私有的吗?
  • 所以我认为正在发生的事情是你得到一个 404,因为该集合不是公开的。你能把这个集合公开并再次测试吗?
  • @bbone,不,它必须保持私密。很难相信我无法访问包含 ClientID 和 SecretKey 或其他东西的私有集

标签: javascript json api authorization soundcloud


【解决方案1】:

所以经过一些测试后,我确认问题与您尝试请求私人集的事实有关。由于该集合是私有的,因此您需要先通过 SoundCloud 的 OAuth 2 authentication 进程才能访问该集合。

【讨论】:

  • 这真是令人震惊。 OAuth 方法实际上是让用户将服务连接到他们的帐户。在这种情况下,我只是在自定义播放器中播放私人集。感谢您对此进行深入研究。我很想看看 Soundcloud Dev 是怎么说的。
  • 没问题。这样想——为了查看私人播放列表,SoundCloud 需要知道您是否有权查看该播放列表。如果没有身份验证,api 无法知道谁在发出请求,以及该请求是否有权访问所请求的信息。客户端 ID 不足以确保请求安全,因为它在 url 中是公开的,这意味着任何人都可以获取它并使用它来获取与客户端 ID 关联的帐户的私人信息。让我知道您收到的回复。
【解决方案2】:

尝试使用您的集合的共享对话框中找到的 url 解析集合 url。此 url 包含一个秘密令牌,可用于在不登录的情况下访问私有集。

不过,如果集合中的曲目也是私有的,不确定这会让你走多远。就像 bbone 提到的那样,您将暴露这个秘密令牌,这可能是也可能不是问题。

【讨论】:

    猜你喜欢
    • 2014-09-10
    • 2015-03-24
    • 2019-01-19
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    • 2018-06-24
    • 2012-01-04
    • 1970-01-01
    相关资源
    最近更新 更多