5

我是 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...不是确定为什么。

任何能让我朝着正确方向前进的回应都会很棒。谢谢!

4

2 回答 2

2

我可以通过 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 参数,所以你可以使用它。

于 2013-06-04T20:35:50.403 回答
1

除了@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);
于 2015-10-03T01:39:23.520 回答