我正在尝试设置一个小网站,您可以使用您的soundcloud帐户登录。我设法让登录工作并阅读有关登录用户的不同信息。但是,只要我切换网站,我就需要再次登录。我之前没有使用过令牌,但据我所知,他们将您的凭据存储在一个字符串中,以便Soundcloud对用户进行身份验证而无需再次登录。
我正在使用PHP,但到目前为止我所做的一切都是使用javascript。这是代码:
这是我登录的部分:
<script>
function signIn(){
SC.initialize({
client_id: "myclientid",
redirect_uri: "http://localhost/Main/callback.html",
});
SC.connect(function () {
SC.get("/me", function (response) {
console.log("Welcome " + response.full_name);
console.log(SC.accessToken());
$("#name").html("Hello " + response.full_name);
});
});
}
</script>
<h1><span id="name"></span></h1>
<div onclick=signIn() id="SignIn">Sign In</div>
一旦我跳到这一部分,它就会给我一个“401(未经授权)”,因为我还没有登录这个页面。
<script>
function getTracks(){
SC.initialize({
client_id: "myclientid",
redirect_uri: "http://localhost/Main/callback.html",
});
var tracks = {};
SC.get("/me/tracks", function (resp) {
for (var i=0; i< resp.length; i++) {
if(resp[i].downloadable){
$("#tracklist ul").append("<li><form action=\"tracks.php\"\><input type=\"submit\" value=\""+resp[i].title+"\"></form></li>");
}
}
});
}
</script>
<div onclick=getTracks() id="tracklist">
<h3>Your Tracks:</h3>
<ul></ul>
</div>
如何使用令牌使用我的请求?
非常感谢您提前的时间! 欢呼声
答案 0 :(得分:0)
我不知道为什么现在这样有效,因为我之前尝试过这个。对于每个请求,都需要初始化SC对象。所以我需要做的就是添加这个:
SC.initialize({
client_id: "myclientid",
redirect_uri: "http://localhost/Main/callback.html",
access_token: "theusersaccesstoken"
});
我不知道为什么今天这样有效,但最后我才开始工作。