YouTube API - 403 Forbidden: неверный ключ разработчика для простого запроса Get

Я только начинаю с YouTube API и сталкиваюсь с тем, что не могу объяснить. По сути, мне просто нужно получить видео с Youtube, и я уверен, что вам не нужно проходить проверку подлинности (если нет, скажите, пожалуйста). После ознакомления с документацией по API у меня есть этот очень простой запрос: http://gdata.youtube.com/feeds/api/videos?q=ted+talks&max-results=10&v=2 (поиск по словам Теда и принятие первые 10).

Выполнение этого запроса непосредственно в браузере или через http-запрос работает, что подтверждает мое убеждение, что для этого нет необходимости проходить проверку подлинности.

Но вот в чем дело, я хотел бы использовать клиентскую библиотеку.NET, которую предоставляет Google, чтобы избежать всей обработки / десериализации XML, и вот мой код:

public string Test()
    {
        YouTubeRequestSettings settings = new YouTubeRequestSettings("Otello", String.Empty);
        YouTubeRequest request = new YouTubeRequest(settings);
        Feed<Video> feed = request.Get<Video>(new Uri("http://gdata.youtube.com/feeds/api/videos?q=ted+talks&max-results=10&v=2"));
        return feed.Entries.Count() + "";
    }

Этот код всегда возвращает ошибку 403 Forbidden (неверный ключ разработчика). Я делаю что-то неправильно? Мне действительно нужен ключ разработчика для такого рода звонков? И если я это сделаю, я попытался зайти туда https://code.google.com/apis/youtube/dashboard/gwt/index.html но я не могу добавить новый продукт на следующей странице.

1 ответ

Решение

Я не думаю, что вам нужен ключ разработчика. Я проверил ваш URL (используя Json.Net), как показано ниже, и он работает

WebClient wc = new WebClient();
string resultStr = wc.DownloadString("http://gdata.youtube.com/feeds/api/videos?q=ted+talks&max-results=10&v=2&alt=jsonc");
dynamic result = JsonConvert.DeserializeObject(resultStr);
foreach (var item in result.data.items)
{
    Console.WriteLine("{0}: {1}",item.title,item.player["default"]);
}

PS: я добавил &alt=jsonc чтобы получить результат как JSON. Вы можете удалить его и получить результат в формате XML.

Другие вопросы по тегам