400 Bad Request Ошибка при загрузке видео на YouTube с помощью C# YouTube API
Кажется, я не могу заставить приложение 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. Я использовал Fiddler, чтобы получить сырой ответ, который ниже.
Не удалось выполнить запрос: 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 ответа
Согласно ответу, ваш media:category
может быть неверным. Пытаться:
video.Tags.Add(new MediaCategory("Sports", YouTubeNameTable.CategorySchema));
Вам нужно указать 1 категорию по умолчанию изhttp://gdata.youtube.com/schemas/2007/categories.cat
"что они показывают в этом сообщении об ошибке.
Он должен точно соответствовать тегам, указанным в этом документе.