1

我正在尝试代表已登录、经过身份验证的用户创建会议。

我已经使用 Devise 和 Omniauth 成功创建了一个用户:

用户.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
4

1 回答 1

0

问题很简单,您只需更改用户 ID,使用您的用户名显示在缩放个人资料页面中作为登录电子邮件,而不是在 uri 中使用我。您当前的网址:“ https://api.zoom.us/v2/users/me / meetings ”更改为:“ https://api.zoom.us/v2/users/your_email / meetings ”。一旦您更改此设置,请确保您创建的令牌未过期或在进行此更改后再次创建它并使其至少在 1 天有效以进行测试,然后您可以设置其过期自定义。

于 2020-06-01T09:43:14.640 回答