Ich versuche, die Soundcloud-API zu verwenden, um eine integrierte "Export" -Funktion in einer Open-Source-DAW-Anwendung (Ardour) zu implementieren.Flow "User Credentials" verwenden, um ein Authentifizierungstoken über libcurl zu erhalten
Zumindest für den ersten Entwurf scheint es, dass die einfachste Methode, ein authentifiziertes Token zu erhalten, die Verwendung des "User Credentials" -Flusses ist. Also benutze ich meinen eigenen Account als Beispiel. Ich verwende Libcurl programmatisch diese Anforderung zu erzeugen:
Das Ergebnis ist: "404 - nicht gefunden"
Ein paar Fragen:
1) Irgendwelche Ideen, was „404 - Nicht gefunden "bedeutet in diesem Zusammenhang? Ist mein Benutzername im falschen Format? Habe ich einen Tippfehler gemacht? Oder ist der Workflow für Benutzeranmeldeinformationen nicht mehr verfügbar?
2) Dies ist eine Open-Source-App, so dass die client_id und client_secret tatsächlich für die Welt verfügbar sind. Was sind die Konsequenzen (wenn überhaupt) davon?
Bitte beachten Sie, dass ich kein Experte für curl/web integration bin (obwohl ich libcurl verwenden konnte, um Sounds von Freesound.org zu importieren) - also vermisse ich vielleicht etwas sehr Offensichtliches.
Danke Paul! Ich werde untersuchen, was in libcurl benötigt wird, um dies zu ermöglichen. In Bezug auf die "geheime" ID ... ist es ein Open-Source-Programm, so dass es keine andere Wahl gibt, als es zu veröffentlichen.Sicherlich ist es für eine App unmöglich, die Soundcloud TOS zu brechen, da der authentifizierte Benutzer der Schuldige ist? Abgesehen davon, dass der Sound der App "zugeschrieben" wird, warum ist das wichtig? Schließlich zur Autorisierung: Ich bin offen für die Verwendung des "Authorization Code Flow", aber ich verstehe es nicht im Kontext einer Desktop-App. Es scheint, dass ein 3rd-Party-Server als Vermittler in irgendeiner Form benötigt wird. Hoffentlich bin ich nur verwirrt. – user1313170
Wenn Sie es als Open Source versenden, sollten Sie die Client-Anmeldeinformationen vergessen und die App-Registrierung zu einem Teil des Installations-/Setup-Prozesses machen. Das Problem ist, dass Sie Anmeldeinformationen vergeben. Wenn zum Beispiel ein Entwickler mit böswilliger Absicht eine App erstellen wollte, die etwas schädlich machen würde, könnten sie Ihre App-Anmeldedaten verwenden und als App "posen". Der Benutzer würde denken, dass er Ihre Anwendung authentifiziert hat. Unter dem Strich teilt das Teilen von Anmeldeinformationen eine Vertrauensstellung. Apps mit durchgesickerten Kundengeheimnissen würden mit ziemlicher Sicherheit deaktiviert werden. –
Meine Antwort wurde dahingehend geändert, dass Details zur Verwendung des Auth Code Flow mit der Desktop-App enthalten sind. Auch erwähnt, warum User Cred Flow nicht empfohlen wird. Auch, wenn Sie meine Antwort hilfreich fanden, ist es eine gute Übung, sie zu "akzeptieren" :-) Hoffe, dass hilft. Lassen Sie mich wissen, wenn Sie weitere Fragen haben. –