Используя YouTube API, как вы загружаете частное видео в ruby? - PullRequest
0 голосов
/ 04 июня 2019

Я могу загрузить видео на YouTube с помощью API Ruby. Проблема в том, что я попросил visibility => private, а видео загружено как общедоступное. Другие поля (название, описание) установлены правильно. Чего мне не хватает?

    body = {
      :snippet => {
       :title => 'file upload',
       :category_id => 29,
       :description => 'description of first file upload'
      },
      :status => {
        :privacyStatus => "private"
      },
   }
    puts "body: ", body 
    r = youtube.insert_video('snippet,status', body, upload_source: fname, content_type:'video/mp4') do |result, err|
      puts "result: ", result
      puts "err: ", err
    end

Использование google-api-client (0.30.0)

1 Ответ

1 голос
/ 04 июня 2019

Драгоценный камень google-api-client ожидает ключи подчеркивания, а затем внутренне переводит privacy_status в privacyStatus.

Тем не менее, просто измените свой код на:

body = {
  :snippet => {
    :title => 'file upload',
    :category_id => 29,
    :description => 'description of first file upload'
  },
  :status => {
    :privacy_status =>'private'
  }
}

Кстати, вы можете рассмотреть возможность использования "нового" синтаксиса хеша, который является менее подробным:

body = {
  snippet: {
   title: 'file upload',
   category_id: 29,
   description: 'description of first file upload'
  },
  status: {
    privacy_status: 'private'
  }
}
...