【问题标题】:Upload Captions YouTube Data API ruby上传字幕 YouTube 数据 API ruby
【发布时间】:2016-02-21 22:15:29
【问题描述】:

我正在尝试使用 Data API 将字幕上传到 YouTube。但是,我在参考资料或论坛中找不到任何 Ruby 示例。具体如何发送实际的字幕文件(xml)。

body = {
    :snippet => {
      :videoId => videoId,
      :language => "English",
      :name => "English"
    }
  }
  captions_insert_response = client.execute(
    :api_method => youtube.captions.insert,
    :parameters => {
      :part => body.keys.join(',')
    },
    :body_object => body
  )

在哪里以及如何添加字幕文件?我试着像上传视频一样做,但似乎没有用。此行是在 ":body_object" 之后添加的

:media => Google::APIClient::UploadIO.new(captions_file, 'text/xml')

谢谢

【问题讨论】:

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


    【解决方案1】:

    我解决了将 sn-p 中的语言更改为“en”的问题。 如果有人需要,这是完整的请求。

    body = {
        :snippet => {
          :videoId => videoId,
          :language => "en",
          :name => "English"
        }
      }
      captions_insert_response = client.execute(
        :api_method => youtube.captions.insert,
        :body_object => body,
        :media => Google::APIClient::UploadIO.new(captions_file, 'text/xml'),
        :parameters => {
          'uploadType' => 'multipart',
          :part => body.keys.join(',')
        }
      )
    

    【讨论】:

    • 尝试实现相同的功能,但每次都收到错误insufficientPermissions。可能你有什么想法吗?
    • 在获取您的客户端和 youtube 对象(身份验证)时,请使用 scope="googleapis.com/auth/youtube.force-ssl"。那应该给你必要的权限。如果您需要更多帮助,请立即联系我
    • 谢谢!使用范围它工作正常!现在我有下一个错误:(我正在使用标志:sync => true,因为我正在上传原始文本并希望YouTube自动设置时间戳。我成功上传了字幕,在Web UI中看到它们,并且可以下载相同的文件。但是它们的状态是Track content is not processeds.mail.ru/5M1ERcaaj2o7/img-2015-12-16-17-49-12.png :(
    • 但是当我通过 Web UI 手动添加相同的文件时,它处理得很好
    • 我从未尝试过上传 wit :sync=>true。错误消息让我觉得 YouTube 可能仍在处理该文件。给它几分钟,看看会发生什么
    猜你喜欢
    • 2013-05-10
    • 2017-09-11
    • 2014-10-02
    • 2015-10-03
    • 2015-10-27
    • 2021-11-19
    • 1970-01-01
    • 2016-02-24
    相关资源
    最近更新 更多