gpt4 book ai didi

soundcloud - 如果禁用了歌曲下载,经过身份验证的 3rd 方应用程序是否仍可以使用下载 URL 来抓取轨道?

转载 作者:行者123 更新时间:2023-12-03 18:39:07 25 4
gpt4 key购买 nike

我正在尝试使用 Ruby on Rails 创建一个应用程序,允许用户下载他们已上传的所有歌曲。此时我已经使用 OmniAuth 对用户进行了身份验证,并且我已经成功地使用 Soundcloud 的 Ruby 提取了一些数据 interface使用他们的 API。

根据API ,每首轨道都有一个关联的标题、artwork_url 和 download_url(我已经使用 API 获取了这些信息)。我想显示每首歌曲的标题和艺术作品(如果存在),然后如果他们选择下载该轨道,他们将能够单击一个按钮并从 download_url 下载该轨道。

所以这就是我所意识到的:对于大多数轨道(或声音,因为它们在 Soundcloud 中的名称),上传时默认情况下禁用下载。问题是,还有一个选项显示“已启用/已禁用应用程序”。我想知道的是,如果禁用了歌曲下载,经过身份验证的第 3 方应用程序是否仍可以使用下载 URL 来获取轨道?我想知道用户是否需要单独浏览所有轨道并启用下载才能使其正常工作。

如果您需要更多详细信息,请说明。如果这是一个显而易见的问题,我们深表歉意。

谢谢,

自然

最佳答案

What I'm wondering is if downloading for a song is disabled, can a 3rd party application that has been authenticated still use the download URL to grab the track?

是的,它可以。但是,请注意,为了让 API 实际提供文件,必须有一个 HTTP 授权 header 和 client_id GET 参数。

这意味着简单地吐出链接

<a href="https://api.soundcloud.com/tracks/{id}/download">Download {title}</a>

将无济于事。至于client_id,您可以简单地将其附加到href,但由于浏览器不知道您的应用已获得授权并且无法发送HTTP header 这一事实通过简单的请求,API 不会让用户下载不可公开下载的轨道。

因此,您需要在 ruby​​ 中构建一个代理并将 href 设置为您的本地端点,并在 ruby​​ 端处理与 SoundCloud API 的连接,这样您就可以通过 HTTP带有 OAuth token 的 header 。

关于soundcloud - 如果禁用了歌曲下载,经过身份验证的 3rd 方应用程序是否仍可以使用下载 URL 来抓取轨道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14226101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com