2016-05-04 4 views
0

Ich versuche, eine kleine Website einzurichten, auf der Sie sich mit Ihrem Soundcloud-Konto anmelden. Ich habe es geschafft, dass der Login funktionierte und verschiedene Informationen über den angemeldeten Benutzer gelesen wurden. Sobald ich jedoch die Website gewechselt habe, muss ich mich erneut einloggen. Ich habe noch nicht mit Tokens gearbeitet, aber soweit ich weiß, dienen sie dazu, dass Ihre Anmeldeinformationen in einer Zeichenfolge gespeichert werden, damit Soundcloud den Benutzer authentifizieren kann, ohne sich erneut anzumelden.Verwenden von Token in der Soundcloud-API, um eingeloggt zu bleiben

Ich arbeite mit PHP, aber alles, was ich bis jetzt getan habe, war mit Javascript. Hier ist der Code:

Dies ist der Teil, wo ich mich einlogge:

<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> 

Und sobald ich in diesem Teil zu springen, es gibt mir ein „401 (Unauthorized)“, weil ich nicht angemeldet auf dieser Seite.

<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> 

Wie muss ich meine Anfragen mit Tokens verwenden?

Vielen Dank für Ihre Zeit im Voraus! Prost

Antwort

0

Ich weiß nicht, warum das jetzt funktioniert, weil ich das schon einmal versucht habe. Für jede Anfrage muss das SC-Objekt initialisiert werden. Also alles, was ich tun musste, war das Hinzufügen dieses:

SC.initialize({ 
    client_id: "myclientid", 
    redirect_uri: "http://localhost/Main/callback.html", 
    access_token: "theusersaccesstoken" 
}); 

Ich weiß nicht, warum das heute gearbeitet, aber schließlich habe ich es zu arbeiten.

Verwandte Themen