Net :: HTTPNotFound(404)用于API调用。将URL粘贴到浏览器和200中

时间:2014-07-05 23:41:42

标签: ruby httparty wistia

在使用Wistia API时,我遇到了这种奇怪的现象:浏览器为200,HTTParty为404。

目前,我有一个带嵌入类的视频模块:

module Video
  class Embed
    include ActiveModel::Model
    include HTTParty

    base_uri 'https://fast.wistia.net/oembed'
    format :json
    default_params api_password: ENV['WISTIA_PASSWORD']

    class << self
      def find(hashed_id)
        get("", query: { url: url_query("#{hashed_id}") })
      end

      private

      def url_query(hashed_id)
        "http%3A%2F%2Fhome%2Ewistia%2Ecom%2Fmedias%2F#{hashed_id}"      
      end
    end
  end
end

执行Video::Embed.find(@video.hashed_id)时,输出的代码在日志中显示如下:

HTTP GET (59.97ms)   https://fast.wistia.net:443/oembed?api_password=not_getting_my_password&url=http%3A%2F%2Fhome%2Ewistia%2Ecom%2Fmedias%2Fth3-3Xamp13
Response status   Net::HTTPNotFound (404)
Response body

但是,如果我粘贴到我的网址,我可以看到浏览器内部的JSON加载(200)。

密码正确(已测试),hashed_id正确(已测试),并且通过将网址粘贴到浏览器中来测试网址。

我感觉它是一个跨性别问题,但即便如此,我也不确定如何解决这个问题。

更新:执行curl会像浏览器一样返回JSON。

0 个答案:

没有答案