Search code examples
ruby-on-railsapialexa-skills-kit

How to integrate Alexa Rank API/gem with Ruby on Rails?


I'm new to rails. I'm trying to integrate Alexa Rank API into my application. I don't know how to proceed? I did my best here, and it gives error:-

NameError: undefined local variable or method `access_key_id' for #

Any one tell me , how to consume a third party API like this into rails application. It would be greatful.I need to build a web ranking site with graph analysis.

Here is my code:- Client.rb

class Client < ActiveRecord::Base
  attr_reader :access_key_id, :secret_access_key

def self.find_rank(site_name)
    look_rank = Alexa::Client.new(access_key_id , secret_access_key).url_info(url: site_name)
    return nil unless look_rank.rank

    new_rank=new(name: look_rank.site_title, rank: look_rank.rank_by_country)
    new_rank=new_rank.web_rank
    new_rank

end

def rank
    web_rank=Alexa::Client.new(access_key_id: access_key_id, 
             secret_access_key: secret_access_key).url_info(url: site_name).rank

   return "#{web_rank}" if web_rank 

end

end

Here is Alexa rank gem code:- Url Info:-

  client = Alexa::Client.new(access_key_id: "key",   

                    secret_access_key:"secret")
  url_info = client.url_info(url: "site.com")
 Method Names:- rank, site_title, keywords etc..

Solution

  • Here, I made a silly mistake.I tried to get rank of websites without passing access and secret keys into system.So we have to register Alexa Web Information Service and we have to create IAM user and customer managed policies. Now we can make requests to aws to get data from this gem.