将Rest API实现到rails中。在哪里放代码?

时间:2016-06-16 03:19:32

标签: ruby-on-rails ruby api rest

我正在尝试将zoom.us Rest API实现到我的rails应用程序中(例如:https://github.com/mllocs/zoomushttps://support.zoom.us/hc/en-us/sections/200305463-API),但我不知道在哪里放置这部分代码。或者如何调用它。 (我知道我想至少将xxx更改为我的凭据。)在使用Rest API之前,是否应该首先安装特定的ruby gem?

 require 'zoomus'

Zoomus.configure do |c|
  c.api_key = 'xxx'
  c.api_secret = 'xxx'
end

zoomus_client = Zoomus.new

user_list = zoomus_client.user_list
user_list['users'].each do |user|
  user_id = user['id']
  puts zoomus_client.meeting_list(:host_id => user_id)
end

begin
  user_list = zoomus_client.user_list!
rescue Zoomus::Error => exception
  puts 'Something went wrong'
end

3 个答案:

答案 0 :(得分:0)

如果您使用的是Bundler,则不需要先排队。当您将gem 'zoomus'添加到您的Gemfile,捆绑,然后运行Rails时,除非另有明确说明(使用require: false选项),否则将自动需要这些宝石

通常configure块进入config / initializers / zoomus.rb。 config / initializers /中的任何文件都将在引导过程中加载。

其余代码实际上取决于您使用此服务的时间和地点。我的建议是将这些调用包装到app / services中的普通对象中。随时随地呼叫这些课程,无论是ActiveJob工作者,控制者还是模特。

如果没有背景,你真的无法回答你的问题,即使有了背景,你也会得到不同人的不同答案。多年来,代码放置在Rails中一直是热门话题。

答案 1 :(得分:0)

这个东西:

Zoomus.configure do |c|
  c.api_key = 'xxx'
  c.api_secret = 'xxx'
end
ZoomusClient = Zoomus.new

应位于config/initializers/zoomus.rb文件中。

请注意,我将zoomus_client更改为ZoomusClient,以便它是常量。这样就可以在其他文件中使用。

确保您没有将api凭据签入源控件,或者它们可能会发布到Github。请使用dotenv或其他内容。

其余的代码可以通过rails应用程序中的任何方法调用。

  puts ZoomusClient.meeting_list(
    host_id: ZoomusClient.user_list['users'][0].id
  )

答案 2 :(得分:0)

我建议您将所有缩放配置放入config-> environment-> development.rb或productin.rb文件中,如:

Zoomus.configure do |c|
  c.api_key = 'xxx'
  c.api_secret = 'xxx'
end

并将您的其他代码放入您想要访问或使用的文件中(api,控制器,方法,类)

zoomus_client = Zoomus.new

user_list = zoomus_client.user_list
user_list['users'].each do |user|
  user_id = user['id']
  puts zoomus_client.meeting_list(:host_id => user_id)
end

begin
  user_list = zoomus_client.user_list!
rescue Zoomus::Error => exception
  puts 'Something went wrong'
end

希望这会对你有所帮助。