2

I am new to RubyOnRails and SoundCloud.

I want to integrate SoundCloud API in my ruby on rails application.

For this I have registered on SoundCloud And I got the ClientID and ClientSecret. Also I have downloaded the SDK.

Now I have copied the files and folders from lib and spec directory to my applications lib and spec directory. Also I have added gem 'soundcloud' in the Gemfile.

After this I made simple code (copied from doc) in My Interactor:

# register a client with YOUR_CLIENT_ID as client_id_
client = SoundCloud.new(:client_id => YOUR_CLIENT_ID)
# get 10 hottest tracks
tracks = client.get('/tracks', :limit => 10, :order => 'hotness')
# print each link
tracks.each do |track|
  puts track.permalink_url
end

But here I'm getting the error -

uninitialized constant MyApp::Interactors::MyInteractor::MyAction::SoundCloud

I followed the steps from APIDoc. Is there any step by step example for integrating SoundCloud in Ruby on Rails so that I can follow?

How can I resolve this error?

MyInteracor.rb

module MyApp
  module Interactors
    module MyInteractor

      class MyAction < Struct.new(:user, :params)

        def run
          # SoundCloud
          # register a client with YOUR_CLIENT_ID as client_id_
          client = SoundCloud.new(:client_id => 'my-client-id')
          # get 10 hottest tracks
          tracks = client.get('/tracks', :limit => 10, :order => 'hotness')
          # print each link
          tracks.each do |track|
            puts track.permalink_url
          end

        end
        
      end      
    end
  end
end

2 Answers 2

3

There's a typo in the soundcloud github page change the line:

client = SoundCloud.new(:client_id => 'my-client-id')

to

client = Soundcloud.new(:client_id => 'my-client-id')

[notice the lowercase c in Soundcloud]

0

Also you are going to need your client secret for SoundCloud's API to verify you.

Perhaps put client method and in it have client = SoundCloud.new(your-client-id,your-secret-key-your-redirect-uri) in a controller or helper with your client_id, client_secret, and redirect uri values protected in a .env file.

I think by leaving out your redirect_uri and client secret you might be getting this error in MyInteractor.rb

Hope this helps

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.