我是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…
任何能把我引向正确方向的回应都会很好。谢谢!
我可以通过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);