如何将Alexa Rank API / gem与Ruby on Rails集成?

时间:2016-09-30 11:39:42

标签: ruby-on-rails api alexa

我是铁杆新手。我正在尝试将Alexa Rank API集成到我的应用程序中。我不知道怎么办?我在这里做到了最好,它给出了错误: -

NameError:未定义的局部变量或#

的方法`access_key_id'

任何人都告诉我,如何将这样的第三方API用于rails应用程序。这将是非常好的。我需要建立一个带有图形分析的网站排名网站。

这是我的代码: -    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

这是Alexa排名宝石代码: -    网址信息:

  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..

1 个答案:

答案 0 :(得分:0)

在这里,我犯了一个愚蠢的错误,我试图在不将访问权限和秘密密钥传递到系统的情况下获得网站排名,因此我们必须注册Alexa Web信息服务,并且必须创建IAM用户和客户管理的策略。现在,我们可以向aws请求以从该gem中获取数据。