2016-06-16 93 views
1

我試圖在我的rails應用程序中實現zoom.us Rest API(例如:https://github.com/mllocs/zoomushttps://support.zoom.us/hc/en-us/sections/200305463-API),但我不知道應該在哪裏放置這部分代碼。或者如何調用它。 (我知道我應該至少將xxx更改爲我的憑據。)在使用Rest API之前,是否應該先安裝一個特定的ruby gem?在Rest中實現Rest API。代碼放在哪裏?

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 
+0

然後問題來了,爲什麼你甚至想使用rails,爲什麼不是Sinatra,如果你的目標只是使用這個API。如果沒有,請先通過rails的基礎知識,然後回來,你應該能夠識別的地方。 – Abhinay

+0

第一次聽說Sinatra(我對鐵軌還很陌生)。我會研究它! – Raidspec

+0

編輯:我不只使用這個api。我正在執行這個API到我現有的rails項目中。 – Raidspec

回答

0

如果您使用的是Bundler,則不需要第一行。當您添加gem 'zoomus'到您的Gemfile,捆綁,然後運行Rails,那些寶石將被自動除非明確地告訴別人,否則(使用require: false選項)

通常情況下,configure塊進入配置/初始化/ zoomus.rb需要。 config/initializers /中的任何文件都將在引導過程中加載。

其餘的代碼真的取決於您何時何地使用此服務。我的建議是將這些調用包裝到應用程序/服務中的普通對象中。隨時隨地呼叫這些類,無論它是ActiveJob工作人員,控制器還是模型。

真的,如果沒有上下文來回答你的問題是不可能的,甚至在上下文中你會得到不同人的不同答案。代碼的放置位置已經成爲Rails多年來爭論的熱門話題。

+0

我基本上想通過按按鈕創建會議。 HTTPS://support.zoom。us/hc/zh-cn/articles/201363053-REST-Meeting-API#collapseCreateAMeeting 根據該文檔,它說:「在縮放時創建會議,返回創建的會議URL」。 這是我第一次使用API​​,我很迷茫。 – Raidspec

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 
) 
0

我建議你,變焦的所有配置放入你config-> environments-> 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 

希望這會幫助你。

+0

如果我解決了您的問題,請接受答案。 –