【问题标题】:Uploading a video to youtube using youtube Data API: Broken pipe (Errno::EPIPE)使用 youtube Data API 将视频上传到 youtube:Broken pipe (Errno::EPIPE)
【发布时间】:2014-08-03 19:23:22
【问题描述】:

我正在尝试使用 youtube 数据 api 将本地视频文件上传到我的 youtube 帐户。

示例:https://github.com/youtube/api-samples/blob/master/ruby/upload_video.rb

呼叫:

$ ruby upload_video.rb --file video.mp4 

我收到一条错误消息:

/Users/user/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/openssl/buffering.rb:326:in `syswrite': Broken pipe (Errno::EPIPE)
from /Users/user/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/openssl/buffering.rb:326:in `do_write'
from /Users/user/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/openssl/buffering.rb:344:in `write'
from /Users/user/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/http/generic_request.rb:202:in `copy_stream'
from /Users/user/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/http/generic_request.rb:202:in `send_request_with_body_stream'
from /Users/user/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/net/http/generic_request.rb:132:in `exec'
...
from upload_video.rb:73:in `main'
from upload_video.rb:91:in `<main>'

upload_video.rb(第 73 行):

videos_insert_response = client.execute!(
  :api_method => youtube.videos.insert,
  :body_object => body,
  :media => Google::APIClient::UploadIO.new(opts[:file], 'video/*'),
  :parameters => {
    :uploadType => 'resumable',
    :part => body.keys.join(',')
  }
)

【问题讨论】:

  • 运气好吗?我面临着与其他事情类似的问题。上传音频文件时会发生这种情况。
  • @Chirantan 实际上是的。查看解决方案。祝你好运

标签: ruby youtube youtube-api youtube-data-api


【解决方案1】:

google-api-client 使用 faraday gem,默认 http 适配器是 Net::HTTP。而且它似乎无法正常工作。所以我们需要把它换成别的东西。我将其更改为 httpclient,现在它工作正常。 只需在whatever.rb 文件开头的某处添加这一行(在需要google 的库之后):

Faraday.default_adapter = :httpclient

可在此处找到支持的 http 适配器的完整列表:https://github.com/lostisland/faraday#faraday

【讨论】:

  • 谢谢你,我花了一段时间才克服这个错误!
  • 老兄。我爱你,非常感谢你!!其他人请注意,在创建 api 客户端之前将其置于高位。检查客户端你应该看到Faraday::Adapter::HTTPClient
  • 此外,google-api-client 已从 Faraday 移出,因此使用 >= v0.9.0 也应该可以解决此问题。
猜你喜欢
  • 1970-01-01
  • 2020-11-29
  • 2021-07-09
  • 2014-10-02
  • 2012-12-23
  • 2011-05-13
  • 1970-01-01
  • 1970-01-01
  • 2015-08-17
相关资源
最近更新 更多