我正试图代表已登录的认证用户创建一个会议。
我已经用Devise和Omniauth成功创建了一个用户。
user.rb
def self.from_omniauth(auth)
where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
user.provider = auth.provider
user.uid = auth.uid
user.email = auth.info.email
user.name = auth.info.name
user.phonenumber = auth.info.phone_number
user.picurl = auth.info.pic_url
user.timezone = auth.info.timezone
user.password = Devise.friendly_token[0,20]
user.refresh_token = auth.credentials.refresh_token
user.access_token = auth.credentials.token
end
end
然而,当我提出请求时,我一直得到的是以下信息 HTTPUnauthorized 401: {\"code\":124,\"message\":\"Invalid access token.\"}"
这是我的控制器。
def create
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.zoom.us/v2/users/me/meetings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request["authorization"] = 'Bearer ' + current_user.access_token
response = http.request(request)
puts response.read_body
end
问题很简单,你只需要改变用户ID,使用你的用户名出现在zoom个人资料页面作为登录的电子邮件,而不是我的uri.你的当前网址:"https:/api.zoom.usv2users"。我会议 "改变与此。"https:/api.zoom.usv2users。您的电子邮件会议".一旦你改变了这一点,只需确保你vr被创建的token没有过期,或者在做了这个改变后重新创建它,并使它至少有效1天来测试,然后你可以设置它的到期时间自定义。