Der SoundCloud-Cacao-Wrapper kann ohne Konto nicht auf die Ressource zugreifen
-
12-12-2019 - |
Frage
Beim Versuch, auf einen öffentlichen Endpunkt in der SoundCloud-API (https://api.soundcloud.com/tracks.json) zuzugreifen, wird kein Konto an die SoundCloudAPI-Bibliothek gesendet.
API-Antwort:
error: Error Domain=NXOAuth2HTTPErrorDomain Code=401 "HTTP Error: 401" UserInfo=0x7556ff0 {NSLocalizedDescription=HTTP Error: 401}
Ich zitiere den allgemeinen Nutzungsleitfaden ihres GitHub-Repositorys (https://github.com/soundcloud/CocoaSoundCloudAPI/blob/master/GeneralUsage.md):
Sie können diese Methode ohne Konto (NIL) für anonyme Anfragen oder mit dem Konto, das Sie von [scSoundCloud -Konto] erhalten, aufrufen.
Wie ich sehen kann http://developers.soundcloud.com ist eine Ressource, die ich ohne OAuth verwenden darf.
Irgendwelche Gedanken?
Lösung
Sie müssen anhängen ?consumer_key=APP_KEY
zur URL der Anfrage, also Beispiel: https://api.soundcloud.com/tracks.json?consumer_key=APP_KEY
Eine Bestätigung dafür habe ich auf ihrer etwas verlassenen Google-Gruppenseite hier gefunden: https://groups.google.com/forum/?fromgroups#!topic/soundcloudapi/ptBbe_TWSj8
Es schien eine seltsame Auslassung auf der allgemeinen Nutzungsseite auf Github zu sein und wurde auch weggelassen, sofern auf der Entwickler-Website nicht anders angegeben.
BEARBEITEN
Ich bin auf eine weitere Information dazu gestoßen, auf der Entwicklerseite wird eine erwähnt client_id
GET-Parameter, dieser unterscheidet sich vom Consumer_key. Es wäre jedoch großartig, wenn wir eine Bestätigung darüber erhalten könnten, ob wir ihn verwenden sollen consumer_key
oder client_id
für nicht autorisierte, öffentliche API-Aufrufe.
Es erscheint auch etwas seltsam, dass die SoundCloud-API-Bibliothek dies (welches auch immer zutreffend ist) nicht an die URL anhängt, wenn sie ein Null-Kontoargument erhält.Es erscheint logisch, automatisch auf einen korrekten API-Aufruf umzuschalten, wenn ein Benutzerkontoobjekt fehlt.