Soundcloud Authentication and API



我是soundcloud的新手。我已经做了我的研究,但soundcloud的文档严重缺乏。

我正在努力理解API。如果有人能帮助回答以下问题,那将会很有帮助。

  1. 我可以通过JavaScript API访问我的曲目并检索曲目的标题吗?

  2. 我从哪里得到我的"用户ID"?

  3. 我已经创建了一个应用程序。重定向URI是强制性的吗?

  4. 我尝试使用以下https://api.soundcloud.com/tracks?client_id=MY_CLIENT_ID。我得到了一些其他成员的信息。是的,我用我的新应用程序的client_id替换了MY_CLIENT_ID。

  5. 我尝试使用https://api.soundcloud.com/oauth2/token?client_id=xxx&client_secret=xxx&grant_type=password&username=xxx&password=xxx(与我的应用程序client_id, client_secret,用户名&密码,我得到一个404…

任何能把我引向正确方向的回应都会很好。谢谢!

我可以通过JavaScript API访问我的曲目并检索曲目的标题吗?

不,没有办法只检索标题,您将获得JSON或XML的整个声音表示,这取决于请求中发送的format参数。

我从哪里得到我的"用户ID"?

您可以使用/resolve端点从用户的永久链接检索ID,您的或任何其他,或者,如果您授权用户,您可以点击/me端点以获得授权用户的表示。

我已经创建了一个应用程序。重定向URI是强制性的吗?

是的

我尝试使用以下https://api.soundcloud.com/tracks?client_id=MY_CLIENT_ID。我得到了一些其他成员的信息。是的,我用我的新应用程序的client_id替换了MY_CLIENT_ID。

client_id是您的应用程序的id,它是SoundCloud API的"客户端"(在这种情况下是"服务器"),您的用户是其他东西。如果你说的是"授权"用户,当提到"我的客户端id",那么你可以查询/me/tracks属于该用户的曲目。

我已经尝试使用https://api.soundcloud.com/oauth2/token?client_id=xxx&client_secret=xxx&grant_type=password&username=xxx&password=xxx(与我的应用程序client_id, client_secret,用户名&密码,我得到一个404…不知道为什么。

请遵循oauth2端点的文档-请求应该是POST而不是GET,您需要提交code参数,您将从将在您的重定向URI上运行的代码中获得的值-用户成功登录该URL后,将请求code作为GET参数,因此您可以使用它

添加到@gryzzly的答案。你可以访问API没有令牌,但你将只得到它到你的帐户。

正如你在这里看到的,有一个用户名/密码授权的选项,在这里你可以看到一个例子,如何使用SDK做到这一点。

当你做POST请求时,在POST请求体中做所有的参数:

wget --post-data="client_id=ID&client_secret=SECRET&grant_type=password&username=USERNAME&password=PASSWORD" https://api.soundcloud.com/oauth2/token
下面是PHP请求示例:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.soundcloud.com/oauth2/token");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "client_id=ID&client_secret=SECRET&grant_type=password&username=USERNAME&password=PASSWORD");
$result = curl_exec($ch);
curl_close($ch);

最新更新