2015-04-20 6 views
2

Я работаю над переносом реализации v2 на v3, но у меня есть некоторые трудности с пониманием того, как сегментируется API v3. Я пытаюсь получить информацию о видео из API, но, например, я не могу найти, где хранится имя категории видео.YouTube api v3 получить категорию видео

В v2 РЕАЛИЗАЦИИ У меня есть:

$title = $info->entry->title->{'$t'}; 
$content = nl2br($info->entry->{'media$group'}->{'media$description'}->{'$t'}); 

, а также

$info->entry->category

Как бы перевести это на реализацию v3?

в настоящее время апи (v2) является quering это: http://gdata.youtube.com/feeds/api/videos/

Что такое v3 эквивалент? Это PHP-реализация кстати.

заранее спасибо

+0

Что вы делаете именно так? загружать видео или обновлять их? Вы просмотрели https://developers.google.com/youtube/v3/migration-guide? –

+0

Я обновляю текущую реализацию существующего api веб-сайта. Текущая реализация, только запросы GET. Никакие файлы или auth никогда не нужны. И, да, я посмотрел на это. – ddrjm

ответ

3

В V3 вы не запрашиваете каналы, а запрашиваете конечные точки RESTful. Так что в вашем случае, если вы уже знаете videoIDs видео, которые вы хотите, вы попали в videos-> список конечной точки, например:

https://www.googleapis.com/youtube/v3/videos?part=snippet&id={comma separated list of video IDs}&key={YOUR_API_KEY} 

Полученный пакет JSON будет иметь список "предметов; каждый «элемент» имеет «categoryId».

Обратите внимание, что, чтобы получить подробную информацию о самой категории ID, вы можете использовать videoCategories-> список конечной точки, например:

https://www.googleapis.com/youtube/v3/videoCategories?part=snippet&id={comma separated list of ids}&key={YOUR_API_KEY} 

Категории не меняются так часто, так что вы можете, вероятно, кешировать многие из этих данных, но иногда полезно поддерживать ваше приложение в деталях категории, так как этот API также возвращает такие вещи, как автогенерированный идентификатор канала для категории, локализованная информация (что название категории находится в другие языки и другие регионы) и т. д.

Если у вас еще нет идентификаторов видео, вы не можете использовать видео-> list endpoin t, но вместо этого нужно использовать конечную точку списка поиска->. Это дает вам доступ использовать множество параметров для фильтрации поиска ... все описаны здесь:

https://developers.google.com/youtube/v3/docs/search/list 

Проблема с этим, однако, заключается в том, что результаты поиска конечной точки не дают вам в CategoryId, поэтому в настоящее время вам нужно будет собрать все идентификаторы видеоизображений из вашего результата поиска и выполнить вызов конечной точки видео-> списка с этими идентификаторами для получения категорий.

+0

Это более подробная информация о том, что я ищу. Я обнаружил конечную точку videoCategory, но мой вопрос: может ли видео иметь более одной категории? – ddrjm

+0

@ddrjm Я так не думаю. – rainman

+0

У меня есть один вопрос, если вы можете помочь, допустим, что я хочу выполнить запрос с категорией = «Образование», например, как я могу это сделать? – rainman

0

V3 необходим ключ API, даже только для запросов GET. Посмотрите на V3 Quota.
Кроме того, V3 API опрашивается по адресу: https://www.googleapis.com/youtube/v3/
Получение категории видео будет выглядеть примерно так:
https://www.googleapis.com/youtube/v3/videos?id=R90v8-Vea-Q&part=categoryID&key=[api-key]

Вам нужно будет обновить, что с вами ключ API, хотя. В противном случае он просто вернет ошибку.