400 Bad Request Ошибка при загрузке видео на YouTube с помощью C # YouTube API - PullRequest
4 голосов
/ 09 июня 2011

Не получается, что приложение ASP.net успешно публикуется в моем аккаунте YouTube, но неважно, что я делаю, я получаю ошибку 400 Bad Request , Я использовал документацию YouTube для создания своего кода и получения ключа разработчика. Кроме того, я не получаю и ошибка аутентификации, поэтому я считаю, что мои параметры верны. Несмотря на большой поиск, я не могу найти однозначного ответа на свои квесты, поэтому могу только предположить, что я использую API неправильно или пропускаю что-то критическое.

Моя директива об использовании выглядит следующим образом

using System; using Google.GData.Client; using Google.GData.YouTube; using Google.GData.Extensions; using Google.GData.Extensions.MediaRss; using Google.YouTube;

Мой код для вызова API здесь

YouTubeRequestSettings settings = new YouTubeRequestSettings("k2ps",
  YOU_TUBE_DEVELOPER_KEY, YOU_TUBE_USER_NAME, YOU_TUBE_PASSWORD);
  YouTubeRequest request = new YouTubeRequest(settings);

  Video video = new Video();
  video.Title = title;
  video.Tags.Add(new MediaCategory(sport, YouTubeNameTable.CategorySchema));
  video.Keywords = keyword;
  video.Description = "K2ps";  //todo replace this with the preview text
  video.YouTubeEntry.Private = false;

  video.YouTubeEntry.MediaSource = new MediaFileSource(videoPath, "video/x-flv");
  Video createdVideo = request.Upload(video);

Я получаю исключение HTTP 400 Bad request. Я использовал скрипач для получить необработанный ответ, который ниже.

Не удалось выполнить запрос: http://uploads.gdata.youtube.com/feeds/api/users/default/uploads на Google.GData.Client

   HTTP/1.1 400 Bad Request
    Server: Upload Server Built on Jun 6 2011 12:48:11 (1307389691)
    X-GData-User-Country: US
    Content-Type: text/xml; charset=UTF-8
    Date: Thu, 09 Jun 2011 02:07:30 GMT
    Pragma: no-cache
    Expires: Fri, 01 Jan 1990 00:00:00 GMT
    Cache-Control: no-cache, no-store, must-revalidate
    Content-Length: 257



        <?xml version='1.0' encoding='UTF-8'?>
           <errors>
              <error>
                <domain>yt:validation</domain>
                <code>invalid_value</code>
         <location type='xpath'>
 media:group/media:category[@scheme='http://gdata.youtube.com/schemas/2007/categories.cat']/text()</location>
              </error>
          </errors>

Ответы [ 2 ]

5 голосов
/ 09 июня 2011

Согласно ответу, ваш media:category может быть неправильным. Попробуйте:

video.Tags.Add(new MediaCategory("Sports", YouTubeNameTable.CategorySchema));
3 голосов
/ 09 июня 2011

Вам необходимо указать 1 категорию по умолчанию из 'http://gdata.youtube.com/schemas/2007/categories.cat', который они показывают в этом сообщении об ошибке.

Он должен точно соответствовать тегам, указанным в этом документе.

...