Ich bin neu in der Verwendung von APIs von Websites. Aber seit langem wollte ich das lernen und begann heute mit dem einfachen Beispiel, wie man auf Informationen von soundcloud zugreifen kann. Hier ist der Code von dem einfachen Beispiel von ihren websiteWie bekomme ich das "oauth access secret" für eine Verbindung zur soundcloud api
require 'rubygems'
gem 'soundcloud-ruby-api-wrapper'
require 'soundcloud'
gem 'oauth'
require 'oauth'
# Create a Soundcloud OAuth consumer token object
sc_consumer = Soundcloud.consumer('YOUR_APPLICATION_CONSUMER_TOKEN','YOUR_APPLICATION_CONSUMER_SECRET')
# Create an OAuth access token object
access_token = OAuth::AccessToken.new(sc_consumer, 'YOUR_OAUTH_ACCESS_TOKEN', 'YOUR_OAUTH_ACCESS_SECRET')
# Create an authenticated Soundcloud client, based on the access token
sc_client = Soundcloud.register({:access_token => access_token})
# Get the logged in user
my_user = sc_client.User.find_me
# Display his full name
p "Hello, my name is #{my_user.full_name}"
Ich weiß, was wie zu setzen:
- 'YOUR_APPLICATION_CONSUMER_TOKEN'
- 'YOUR_APPLICATION_CONSUMER_SECRET'
wie diese gegeben wurde wenn Sie eine Anwendung auf Soundcloud registrieren.
ich den ‚YOUR_OAUTH_ACCESS_TOKEN‘ zu http://api.soundcloud.com/oauth/access_token die auch auf der Website Soundcloud geschrieben wurde, aber ich habe keine Ahnung, wo die
_YOUR_OAUTH_ACCESS_SECRET_ von bekommen.
Ist dieses Zugriffsgeheimnis auch eine zufällige Zeichenfolge, die ich von irgendwo bekomme, muss ich es selbst generieren.
EDIT Wie in der Antwort der Elite Herren schlug ich auch versucht, das Soundcloud Beispiel auf Authentifizierung. Ich poste hier das Stück Code, der bereits zu dem Fehler führt:
require 'rubygems'
gem 'soundcloud-ruby-api-wrapper'
require 'soundcloud'
# oAuth setup code:
# Enter your consumer key and consumer secret values here:
@consumer_application = {:key => 'QrhxUWqgIswl8a9ESYw', :secret => 'tqsUGUD3PscK17G2KCQ4lRzilA2K5L5q2BFjArJzmjc'}
# Enter the path to your audio file here.
path_to_audio_file = "your/absolute/path/to/audio_file.ext"
# Set up an oAuth consumer.
@consumer = OAuth::Consumer.new @consumer_application[:key], @consumer_application[:secret],
{
:site => 'http://api.sandbox-soundcloud.com',
:request_token_path => '/oauth/request_token',
:access_token_path => '/oauth/access_token',
:authorize_path => '/oauth/authorize'
}
# Obtain an oAuth request token
puts "Get request token"
request_token = @consumer.get_request_token
Die Fehlermeldung erhalte ich dann:
OAuth::Unauthorized: 401 Unauthorized
method token_request in consumer.rb at line 217 method get_request_token in consumer.rb at line 139 at top level in test1.rb at line 25
Wie kann dieses einfache Beispiel fehlschlagen?
Danke für die schnelle Antwort. Aber ich denke du hast mein Problem nicht verstanden, vielleicht weil es zu einfach ist. Um das access_token anzufordern (access_token = OAuth :: AccessToken.new (sc_consumer, 'YOUR_OAUTH_ACCESS_TOKEN', 'YOUR_OAUTH_ACCESS_SECRET')) muss ich bereits die ** YOUR_OAUTH_ACCESS_SECRET kennen ** Weißt du was ich meine? – dedan
@dedan, für Ihre Frage ist die Antwort ja, aber das scheint wie ein altes OAuth-Authentifizierungsschema zu sein. Sehen Sie meinen bearbeiteten Post für mehr an. –
ok, ich werde dieses neue Beispiel ausprobieren, das du morgen in deinem Edit gepostet hast. Ich habe mich nur gewundert, denn der, den ich verwendet habe, wurde zuletzt am 13. September 2010 bearbeitet. Vielen Dank, ich werde meine Ergebnisse hier morgen veröffentlichen – dedan