我是soundcloud的新手。我已经完成了我的研究,但是soundcloud文档缺乏严重性。
我正在尝试理解API。如果有人可以帮助回答以下问题,那将会有所帮助。
我可以通过JavaScript API访问我的曲目并检索曲目的标题吗?
我从哪里获取“用户ID”?
我创建了一个应用。重定向URI是强制性的吗?
我尝试使用以下https://api.soundcloud.com/tracks?client_id=MY_CLIENT_ID。我得到一些其他会员的信息。是的,我用我的新应用程序中的client_id替换了MY_CLIENT_ID。
我尝试使用https://api.soundcloud.com/oauth2/token?client_id=xxx&client_secret=xxx&grant_type=password&username=xxx&password=xxx(使用我的应用client_id,client_secret,用户名和密码,我得到了404 ...不确定原因。
任何让我走向正确方向的回应都会很棒。谢谢!
答案 0 :(得分: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
端点的the documentation - 请求应该是POST而不是GET,您需要提交code
参数,您可以从代码中获取该值在您的重定向URI上运行 - 用户成功登录后,将使用code
作为GET参数请求该URL,以便您可以使用它。
答案 1 :(得分:1)
除了@gryzzly的回答。您可以在没有令牌的情况下访问API,但只会将其提供给您的帐户。
正如您可以看到here,有一个用户名/密码授权选项,here您可以看到示例,如何使用SDK执行此操作。
当您发出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);