Как получить секрет "секретный ключ" для подключения к soundcloud api

63
8

Я новичок в использовании API-интерфейсов веб-сайтов. Но так как долгое время я хотел узнать это и сегодня, начал с простого примера того, как получить доступ к информации из soundcloud. Вот код простого примера из веб-сайт


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


Я знаю, что установить как:


    'YOUR_APPLICATION_CONSUMER_TOKEN'
    'YOUR_APPLICATION_CONSUMER_SECRET'

поскольку это было дано при регистрации приложения в soundcloud.


Я установил 'YOUR_OAUTH_ACCESS_TOKEN' в http://api.soundcloud.com/oauth/access_token
который также был записан на сайте soundcloud, но я понятия не имею, где взять


_YOUR_OAUTH_ACCESS_SECRET _ от.


Является ли этот секрет доступа также случайной строкой, которую я получаю откуда-то, мне нужно создать ее самостоятельно.


EDIT Как было предложено в ответе элитных джентльменов, я также попробовал пример Soundcloud при аутентификации. Я размещаю здесь фрагмент кода, который уже приводит к ошибке:


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


Сообщение об ошибке, которое я получаю, следующее:


OAuth:: Несанкционированный: 401 Несанкционированный

метод token_request в consumer.rb в метод 217 get_request_token в consumer.rb в строке 139 наверх уровень в test1.rb по строке 25



Как может выглядеть этот простой пример?

спросил(а) 2021-01-25T12:33:38+03:00 4 месяца, 3 недели назад
1
Решение
77

Ответ на вопрос очень прост. Моя проблема заключалась в том, что я
зарегистрировал мое приложение в системе производства soundcloud
soundcloud.com, но направил мои запросы на sandbox-soundcloud.com.


Мне нужно было перейти на sandbox-soundcloud.com, зарегистрировать новую учетную запись пользователя и сделать
новое клиентское приложение, и все работает отлично.

Дополнительная информация о Песочнице доступна здесь:
http://github.com/soundcloud/api/wiki/Appendix-B-Sandbox

ответил(а) 2021-01-25T12:33:38+03:00 4 месяца, 3 недели назад
63

Как и в случае с OAuth, вам необходимо зарегистрировать свое приложение в Soundcloud, если вы хотите, чтобы конечный пользователь получал доступ к защищенным ресурсам Soundcloud через ваше приложение.


Когда вы запрашиваете access_token из Soundcloud с использованием OAuth, он вернет вас и access_token и oauth_token_secret. Это oauth_token_secret - это то, что вы упомянули как _YOUR_OAUTH_ACCESS_SECRET _


Я не знаю, насколько вы знакомы с OAuth. Документацию можно найти здесь.

Изменить Схема авторизации OAuth изменилась некоторое время назад (например, для получения токена доступа требуется указать oauth_verifier).


См. Пример SoundCloud в Аутентификации с использованием последней спецификации OAuth.

ответил(а) 2021-01-25T12:33:38+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема