En esta página se enumeran los cambios (versión 3) de la API de datos de YouTube y las actualizaciones de la documentación. Suscribirse a este registro de cambios.
30 de octubre de 2024
La API ahora admite la capacidad de identificar videos que incluyan contenido realista alterado o sintético (A/S). Obtén más información sobre las políticas de YouTube relacionadas con el contenido de A/S.
Estos son algunos ejemplos de contenido de A/S:
- Hacer que una persona real parezca decir o hacer algo que no dijo ni hizo
- Alterar videos de acontecimientos o lugares reales
- Genera una escena de aspecto realista que en realidad no ocurrió.
Para indicar si un video contiene contenido de A/S, configura la propiedad status.containsSyntheticMedia
. Esta propiedad se puede establecer cuando se llama a los métodos videos.insert
o videos.update
. Si se establece, la
propiedad se muestra en el
recurso video
.
30 de abril de 2024
Nota: Este es un anuncio de baja.
Esta actualización incluye los siguientes cambios:
La API ya no admite la capacidad de insertar o recuperar debates de canales. Este cambio es coherente con la funcionalidad admitida en el sitio web de YouTube, que no permite publicar comentarios en canales.
13 de marzo de 2024
Nota: Este es un anuncio de baja.
Esta actualización incluye los siguientes cambios:
El parámetro sync
para los métodos captions.insert
y captions.update
dejó de estar disponible. YouTube dejará de admitir el
parámetro a partir del 12 de abril de 2024.
Como resultado de este cambio, los desarrolladores deberán incluir información de sincronización cuando inserten o actualicen pistas de subtítulos. De lo contrario, fallará la carga.
12 de marzo de 2024
Esta actualización incluye los siguientes cambios:
Se actualizó la documentación del recurso captions
para indicar que la longitud máxima permitida para el campo snippet.name
es de 150 caracteres. La API devuelve un error nameTooLong
si el nombre del segmento es más largo.
7 de marzo de 2024
Nota: Este es un anuncio de baja.
La propiedad del recurso channel
brandingSettings.channel.moderateComments
dejó de estar disponible. YouTube dejará de admitir el parámetro a partir del 7 de marzo de 2024.
31 de enero de 2024
Esta actualización incluye los siguientes cambios:
El nuevo parámetro forHandle
del método channels.list
te permite recuperar información sobre un canal especificando su identificador de YouTube.
9 de noviembre de 2023
Se quitaron todas las referencias al recurso videoId
en Comments
, ya que el recurso videoId
no se muestra con una llamada a la API.
12 de septiembre de 2023
Nota: Este es un anuncio de baja.
El método comments.markAsSpam
dejó de estar disponible hace varios años. Este método ya no es compatible con YouTube ni con la API.
Se agregó un aviso de baja a todos los documentos que hacen referencia al método comments.markAsSpam
.
22 de agosto de 2023
El método search.list
ahora admite el parámetro videoPaidProductPlacement
. Este parámetro te permite filtrar los resultados de la búsqueda para incluir solo los videos que el creador indicó que tienen una promoción pagada.
18 de agosto de 2023
Se actualizó la definición de liveStreamingDetails.concurrentViewers
del recurso video
para indicar que los recuentos de usuarios simultáneos que muestra la API de datos de YouTube pueden diferir de los recuentos de usuarios simultáneos procesados y sin spam disponibles en YouTube Analytics. El Centro de ayuda de YouTube proporciona más información sobre las métricas de las transmisiones en vivo.
7 de agosto de 2023
Como anunciamos el 12 de junio de 2023, el parámetro relatedToVideoId
del método search.list
dejó de estar disponible. Ese parámetro ya no se admite, y las referencias a él se quitaron de la documentación de la API.
28 de junio de 2023
El método thumbnails.set ahora admite el error uploadRateLimitExceeded
, que indica que el canal subió demasiadas miniaturas durante las últimas 24 horas y que debería volver a intentarlo más tarde.
12 de junio de 2023
Nota: Este es un anuncio de baja.
El parámetro relatedToVideoId
del método search.list dejó de estar disponible. YouTube dejará de admitir el parámetro a partir del 7 de agosto de 2023.
En este momento, se agregó un aviso de baja a la documentación del método search.list
. Este parámetro se quitará por completo de la documentación de search.list
a partir del 7 de agosto de 2023.
Además, se quitó de la guía de implementación de la API un ejemplo que muestra cómo recuperar videos relacionados.
22 de agosto de 2022
Se corrigieron las anotaciones de tipo de los campos de video.statistics en una cadena desde una propiedad larga sin firma.
5 de agosto de 2022
YouTube cambió la forma en que se generan los IDs de subtítulos y, como parte de ese cambio, asigna IDs de subtítulos nuevos a todas las pistas de subtítulos. Este cambio podría ser incompatible con versiones anteriores para las aplicaciones que almacenan valores de caption_id
, aunque no afectará a las aplicaciones que no almacenan valores de caption_id
.
Entre ahora y el 1 de diciembre de 2022, los métodos captions.list
, captions.update
, captions.download
y captions.delete
admitirán los IDs de pista de subtítulos antiguos y nuevos. Sin embargo, a partir del 1 de diciembre de 2022, YouTube dejará de admitir los IDs de pistas de subtítulos anteriores. En ese momento, si llamas a cualquiera de esos métodos de la API con un ID de pista de subtítulos antiguo, se mostrará el error captionNotFound
.
Para prepararte para este cambio, debes planificar reemplazar por completo todos los datos de pistas de subtítulos almacenados entre ahora y el 1 de diciembre de 2022. Esto significa que, para cualquier video para el que almacenes datos de segmentos de subtítulos, debes borrar los datos almacenados actualmente y, luego, llamar al método captions.list
para recuperar el conjunto actual de segmentos de subtítulos del video y almacenar los datos en la respuesta de la API como lo harías normalmente.
12 de julio de 2022
Se actualizaron las Condiciones del Servicio de los servicios de la API de YouTube. Consulta las Condiciones del Servicio de los servicios de la API de YouTube: Historial de revisión para obtener más información.
27 de abril de 2022
Se actualizó la descripción del método videos.insert
para indicar que el tamaño máximo de los archivos para los videos subidos aumentó de 128 GB a 256 GB.
8 de abril de 2022
Se actualizaron las definiciones de los parámetros myRecentSubscribers
y mySubscribers
del método subscriptions.list
para indicar que la cantidad máxima de suscriptores que muestra la API podría estar limitada.
Este cambio representa una corrección de documentación y no un cambio en el comportamiento de la API.
15 de diciembre de 2021
Como se anunció el 18 de noviembre de 2021, junto con los cambios para que los recuentos de “no me gusta” de videos sean privados en toda la plataforma de YouTube, la propiedad statistics.dislikeCount
del recurso video
ahora es privada.
Obtén más información sobre este cambio en el blog oficial de YouTube.
18 de noviembre de 2021
Además de los cambios para convertir los recuentos de “no me gusta” en videos privados en toda la plataforma de YouTube, la propiedad statistics.dislikeCount
del recurso video
pasará a ser privada a partir del 13 de diciembre de 2021. Esto significa que la propiedad solo se incluirá en una respuesta de la API desde el extremo videos.list
si el propietario del video autenticó la solicitud a la API.
El extremo videos.rate
no se ve afectado por este cambio.
Los desarrolladores que no muestran los recuentos de no me gusta de forma pública y aún necesitan el recuento de no me gusta para su cliente de API pueden solicitar que se los incluya en una lista de entidades permitidas para obtener una exención. Para solicitar una exención, debe completar este formulario de solicitud.
Obtén más información sobre este cambio en el blog oficial de YouTube.
2 de julio de 2021
Nota: Este es un anuncio de baja.
El extremo commentThreads.update
dejó de estar disponible y ya no es compatible.
Este extremo duplica la funcionalidad disponible a través de otros extremos de la API. En su lugar, puedes llamar al comments.update
.
commentThreads
, realiza una llamada secundaria al método commentThreads.list
.
1 de julio de 2021
Todos los desarrolladores que usen los Servicios de la API de YouTube deben completar una auditoría de cumplimiento de la API para obtener más de la asignación de cuota predeterminada de 10,000 unidades. Hasta la fecha, los desarrolladores que completaron y enviaron el formulario de auditoría y extensión de cuota de los servicios de la API de YouTube realizaron tanto el proceso de auditoría de cumplimiento como las solicitudes de asignaciones adicionales de unidades de cuota.
Para aclarar estos procesos y satisfacer mejor las necesidades de los desarrolladores que usan nuestros servicios de API, agregaremos tres formularios nuevos y una guía para completarlos:
- Formulario de solicitudes de desarrolladores auditados: Los desarrolladores que ya aprobaron una auditoría de cumplimiento de la API pueden completar y enviar este formulario más corto para solicitar una extensión de la cuota asignada.
- Formulario de apelación: Los desarrolladores cuyos proyectos de API no hayan aprobado una auditoría de cumplimiento (o se les haya denegado un aumento de la unidad de cuota) pueden completar y enviar este formulario.
- Formulario de cambio de control: Los desarrolladores, o cualquier parte que opere un cliente de API en nombre de un desarrollador, que experimenten un cambio de control (por ejemplo, mediante una compra o venta de acciones, una fusión o alguna otra forma de transacción corporativa) asociado con un proyecto de API deben completar y enviar este formulario. Esto permite que el equipo de la API de YouTube actualice nuestros registros, audite el cumplimiento del caso de uso del nuevo proyecto de la API y valide la asignación de cuota actual del desarrollador.
Cada formulario nuevo nos informará sobre tu uso previsto de la API de YouTube y nos permitirá brindarte una mejor asistencia.
Puedes encontrar más detalles en nuestra nueva guía de auditorías de cumplimiento de las APIs.
12 de mayo de 2021
Nota: Este es un anuncio de baja.
Esta actualización abarca los siguientes cambios de API:
-
La propiedad
contentDetails.relatedPlaylists.favorites
del recursochannel
dejó de estar disponible. La función de videos favoritos dejó de estar disponible desde hace varios años, como se indica en la entrada del historial de revisión del 28 de abril de 2016.Antes de esta actualización, la API aún creaba una playlist nueva si un cliente de la API intentaba agregar un video a una playlist de favoritos inexistente. De ahora en adelante, la playlist no se creará en este caso y la API mostrará un error. Además, los intentos de modificar playlists de favoritos mediante la adición, modificación o eliminación de elementos ya no están disponibles por anuncios anteriores, y podrían comenzar a mostrar errores en cualquier momento.
-
Las siguientes propiedades de recursos
channel
dejaron de estar disponibles. Estas propiedades ya no son compatibles con la IU de YouTube Studio ni con YouTube. Como resultado, ya no se admiten a través de la API.brandingSettings.channel.defaultTab
brandingSettings.channel.featuredChannelsTitle
brandingSettings.channel.featuredChannelsUrls[]
brandingSettings.channel.profileColor
brandingSettings.channel.showBrowseView
brandingSettings.channel.showRelatedChannels
Todas las propiedades se quitaron de la representación de recursos
channel
y sus definiciones se quitaron de la lista de propiedades del recurso. Además, los errores asociados con estas propiedades se quitaron de la documentación específica del método. -
Las siguientes propiedades del recurso
channelSection
dejaron de estar disponibles. Estas propiedades ya no son compatibles con la IU de YouTube Studio ni en YouTube. Como resultado, tampoco se admiten a través de la API.snippet.style
snippet.defaultLanguage
snippet.localized.title
localizations
localizations.(key)
localizations.(key).title
targeting
targeting.languages[]
targeting.regions[]
targeting.countries[]
Junto con este cambio, el parámetro
hl
del métodochannelSection.list
también dejó de estar disponible, ya que no se admiten las funciones que admite.Se quitaron todas las propiedades de la representación del recurso
channelSection
y sus definiciones de la lista de propiedades del recurso. Además, los errores asociados con estas propiedades se quitaron de la documentación específica del método. -
En el caso de la propiedad
snippet.type
del recursochannelSection
, los siguientes valores dejaron de estar disponibles. Estos valores ya no se admiten en los canales de usuario de YouTube y, por lo tanto, tampoco se admiten a través de la API.likedPlaylists
likes
postedPlaylists
postedVideos
recentActivity
recentPosts
-
La propiedad
snippet.tags[]
del recursoplaylist
dejó de estar disponible. Esta propiedad ya no es compatible con YouTube y, por lo tanto, ya no es compatible con la API.
9 de febrero de 2021
El recurso playlistItem
admite dos propiedades nuevas:
- La propiedad
snippet.videoOwnerChannelId
identifica el ID del canal que subió el video de la playlist. - La propiedad
snippet.videoOwnerChannelTitle
identifica el nombre del canal que subió el video de la playlist.
28 de enero de 2021
Esta actualización incluye los siguientes cambios:
-
Los métodos
playlistItems.delete
,playlistItems.insert
,playlistItems.list
,playlistItems.update
,playlists.delete
,playlists.list
yplaylists.update
admiten un nuevo errorplaylistOperationUnsupported
. El error ocurre cuando una solicitud intenta realizar una operación que no está permitida para una playlist en particular. Por ejemplo, un usuario no puede borrar un video de la playlist de videos que subió ni borrar la playlist en sí.En todos los casos, este error muestra un código de respuesta HTTP
400
(solicitud incorrecta). -
Se quitaron de la documentación los errores
watchHistoryNotAccessible
ywatchLaterNotAccessible
del métodoplaylistItems.list
. Si bien no se puede acceder a los historiales de reproducciones ni a las listas de reproducción más tarde de los usuarios a través de la API, la API no muestra estos errores específicos.
15 de octubre de 2020
Se agregaron dos secciones nuevas a las Políticas para desarrolladores:
- En el nuevo Artículo III.E.4.i, se proporciona información adicional sobre los datos recopilados y enviados mediante el reproductor incorporado de YouTube. Eres responsable de todos los datos del usuario que nos envíes a través de cualquier reproductor incorporado de YouTube antes de que el usuario interactúe con el reproductor para indicar la intención de reproducción. Puedes limitar los datos que se comparten con YouTube antes de que un usuario interactúe con el reproductor. Para ello, establece la reproducción automática como falsa.
- La nueva sección III.E.4.j se relaciona con la verificación del estado del contenido creado para niños (MFK) antes de incorporarlo en tus sitios y apps. Eres responsable de saber si los videos que incorporas a tu Cliente de API pueden ser creados para niños y de tratar los datos recopilados del reproductor incorporado según corresponda. Por lo tanto, debes verificar el estado del contenido con el servicio de la API de datos de YouTube antes de incorporarlo en tu cliente de API a través de cualquier reproductor incorporado de YouTube.
En la nueva guía Cómo encontrar el estado de contenido creado para niños de un video, se explica cómo buscar el estado de contenido creado para niños de un video con el Servicio de la API de datos de YouTube.
Junto con estos cambios, se agregó un recordatorio a la documentación de parámetros del reproductor incorporado para explicar que, si habilitas la reproducción automática, esta se realizará sin ninguna interacción del usuario con el reproductor. Por lo tanto, la recopilación y el uso compartido de datos de reproducción se realizarán cuando se cargue la página.
8 de octubre de 2020
Esta actualización abarca tres pequeños cambios relacionados con el recurso channel
:
- Es posible que el objeto
snippet.thumbnails
, que identifica las imágenes de miniatura de un canal, esté vacío para los canales recién creados y que tarde hasta un día en propagarse. - La propiedad
statistics.videoCount
refleja el recuento de los videos públicos del canal solo, incluso para los propietarios. Este comportamiento es coherente con los recuentos que se muestran en el sitio web de YouTube. - Las palabras clave del canal, que se identifican en la propiedad
brandingSettings.channel.keywords
, podrían truncarse si superan la longitud máxima permitida de 500 caracteres o si contienen comillas sin escape ("
). Ten en cuenta que el límite de 500 caracteres no es un límite por palabra clave, sino un límite en la longitud total de todas las palabras clave. Este comportamiento es coherente con el del sitio web de YouTube.
9 de septiembre de 2020
Nota: Este es un anuncio de baja.
Esta actualización abarca los siguientes cambios en la API. Todos los cambios entrarán en vigencia a partir del 9 de septiembre de 2020, la fecha de este anuncio. Con esto en mente, los desarrolladores ya no deben confiar en ninguna de las funciones de API que se enumeran a continuación.
-
Los siguientes recursos, métodos, parámetros y propiedades de recursos de la API dejaron de estar disponibles
de inmediato y dejarán de funcionar a partir de la fecha de este anuncio:
- Las siguientes propiedades del recurso
channel
:- La propiedad
statistics.commentCount
- El objeto
brandingSettings.image
y todas sus propiedades secundarias - La lista
brandingSettings.hints
y todas sus propiedades secundarias
- La propiedad
- El parámetro de filtro
categoryId
del métodochannels.list
- El recurso
guideCategories
y el métodoguideCategories.list
- Las siguientes propiedades del recurso
-
Las respuestas a la API para el método
channels.list
ya no contienen la propiedadprevPageToken
si la solicitud a la API establece el parámetromanagedByMe
entrue
. Este cambio no afecta a la propiedadprevPageToken
de otras solicitudeschannels.list
ni a la propiedadnextPageToken
para ninguna solicitud. -
Las propiedades
contentDetails.relatedPlaylists.watchLater
ycontentDetails.relatedPlaylists.watchHistory
del recursochannel
se anunciaron como obsoletas el 11 de agosto de 2016. La compatibilidad del métodoplaylistItems.insert
y del métodoplaylistItems.delete
con estas playlists también dejó de estar disponible por completo, y las dos propiedades se quitaron de la documentación. -
El parámetro
mySubscribers
del métodochannels.list
, que se anunció como obsoleto el 30 de julio de 2013, se quitó de la documentación. Usa el métodosubscriptions.list
y su parámetromySubscribers
para recuperar una lista de suscriptores al canal del usuario autenticado. -
Se quitaron de la documentación el objeto
invideoPromotion
del recursochannel
y todas sus propiedades secundarias, que se anunciaron como obsoletos el 27 de noviembre de 2017.
29 de julio de 2020
Simplificamos nuestro proceso de cobro de cuotas para las solicitudes a la API quitando el costo adicional asociado con el parámetro part
. De forma inmediata, solo cobraremos el costo base del método al que se llama. Puedes encontrar más información sobre la cuota
simplificada aquí.
El efecto de este cambio es que la mayoría de las llamadas a la API tendrán un costo de cuota apenas menor, mientras que algunas llamadas a la API seguirán teniendo el mismo costo. Este cambio no aumenta el costo de ninguna llamada a la API. En general, es probable que el impacto sea que tu cuota asignada, que se puede ver en la consola de Google Cloud, sea un poco mayor.
Recomendamos que todos los desarrolladores completen una auditoría de cumplimiento en sus proyectos para garantizar el acceso continuo a los servicios de la API de YouTube.
Esta entrada del historial de revisión se publicó originalmente el 20 de julio de 2020.
28 de julio de 2020
Todos los videos subidos a través del extremo videos.insert
desde proyectos de API sin verificar creados después del 28 de julio de 2020 estarán restringidos al modo de reproducción privada. Para quitar esta restricción, cada proyecto debe
realizar una auditoría a fin de verificar
el cumplimiento de las
Condiciones del Servicio.
Los creadores que usen un cliente de API no verificado para subir videos recibirán un correo electrónico en el que se les explicará que sus videos están bloqueados y marcados como privados y que pueden evitar la restricción si usan un cliente oficial o auditado.
Actualmente, los proyectos de API creados antes del 28 de julio de 2020 no se ven afectados por este cambio. Sin embargo, recomendamos que todos los desarrolladores completen una auditoría de cumplimiento para sus proyectos para garantizar el acceso continuo a los Servicios de la API de YouTube.
21 de julio de 2020
(Actualizado el 28 de julio de 2020). La actualización de la documentación a la que se hace referencia en esta entrada del historial de revisiones se volvió a publicar el 28 de julio de 2020.
Ayer, publicamos una actualización de la documentación relacionada con nuestro proceso de cobro de cuotas. Sin embargo, debido a circunstancias imprevistas, el cambio de cuota aún no entró en vigencia. Por lo tanto, se revirtió la documentación para garantizar la precisión. Para evitar confusiones, se quitó la entrada del historial de revisión que explica el cambio y se volverá a publicar próximamente.
7 de julio de 2020
Nota: Este es un anuncio de baja.
Los parámetros autoLevels
y stabilize
del método videos.insert
ahora dejaron de estar disponibles, y ambos se quitaron de la documentación. Sus valores se ignoran y no afectan la forma en que se procesan los videos subidos recientemente.
15 de junio de 2020
En la nueva guía Cumplimiento de las Políticas para Desarrolladores de YouTube, se proporcionan orientación y ejemplos para ayudarte a garantizar que tus clientes de API cumplan con partes específicas de las Condiciones y las Políticas (Condiciones del Servicio de la API) de los servicios de la API de YouTube.
Esta guía ofrece información sobre cómo YouTube aplica ciertos aspectos de las Condiciones del Servicio de la API, pero no reemplaza ningún documento existente. En esta guía, se abordan algunas de las preguntas más comunes que hacen los desarrolladores durante las auditorías de cumplimiento de las API. Esperamos que esta función simplifique tu proceso de desarrollo de funciones y te ayude a comprender cómo interpretamos y aplicamos nuestras políticas.
4 de junio de 2020
Nota: Esta es una actualización de un anuncio de baja anterior.
La función de boletín de canal ya no está disponible. Este cambio se anunció inicialmente el 17 de abril de 2020 y ya entró en vigencia. Como resultado, el método activities.insert
ya no es compatible y el método activities.list
ya no muestra boletines del canal. Para obtener más información, consulta el Centro de ayuda de YouTube.
17 de abril de 2020
Nota: Este es un anuncio de baja.
YouTube descontinuará la función de boletines del canal. En consecuencia, el método activities.insert
dejará de estar disponible y el método activities.list
dejará de mostrar boletines de canales. Estos cambios entrarán en vigencia en la API a partir del 18 de mayo de 2020. Para obtener más detalles, consulta el Centro de ayuda de YouTube.
31 de marzo de 2020
Esta actualización incluye los siguientes cambios:
-
Recursos y métodos nuevos
-
El nuevo recurso
member
representa a un miembro del canal de un canal de YouTube. Un miembro proporciona asistencia monetaria recurrente a un creador y recibe beneficios especiales. Por ejemplo, los miembros pueden chatear cuando el creador activa el modo exclusivo para miembros.Este recurso reemplaza al recurso
sponsor
, que se documenta como parte de la API de YouTube Live Streaming. El recursosponsor
ahora está obsoleto y los clientes de la API deben actualizar las llamadas al métodosponsors.list
para usar el métodomembers.list
. -
El nuevo recurso
membershipsLevel
identifica un nivel de precios administrado por el creador que autorizó la solicitud a la API. El métodomembershipsLevels.list
recupera una lista de todos los niveles de membresía del creador.
-
10 de enero de 2020
La API ahora admite la identificación de contenido dirigido a niños, que YouTube denomina “creado para niños”. Obtén más información sobre el contenido “creado para niños” en el Centro de ayuda de YouTube.
Los recursos channel
y video
admiten dos propiedades nuevas para que los creadores y usuarios identifiquen contenido creado para niños:
-
La propiedad
selfDeclaredMadeForKids
permite que los creadores de contenido especifiquen si un canal o un video corresponde a la categoría “creado para niños”.
Para los canales, esta propiedad se puede establecer cuando se llama al métodochannels.update
. En el caso de los videos, esta propiedad se puede configurar cuando se llama a los métodosvideos.insert
ovideos.update
.
Ten en cuenta que esta propiedad solo se incluye en las respuestas de la API que contienen recursoschannel
ovideo
si el propietario del canal autorizó la solicitud a la API. -
La propiedad
madeForKids
permite que cualquier usuario recupere el estado “creado para niños” de un canal o un video. Por ejemplo, el estado se puede determinar según el valor de la propiedadselfDeclaredMadeForKids
. Consulta el Centro de ayuda de YouTube para obtener más información sobre cómo configurar el público de tu canal, tus videos o tus transmisiones.
También actualizamos las Condiciones del Servicio de los Servicios de la API de YouTube y las Políticas para Desarrolladores. Consulta el Historial de revisiones de las Condiciones del Servicio de los Servicios de la API de YouTube para obtener más información. Los cambios en las Condiciones del Servicio y las Políticas para Desarrolladores de los Servicios de la API de YouTube entrarán en vigencia el 10 de enero de 2020, hora del Pacífico.
10 de septiembre de 2019
Se actualizó la documentación de referencia de la API para reflejar un cambio en la forma en que se informan los recuentos de suscriptores en YouTube y, en consecuencia, en las respuestas de la API. Como resultado del cambio, los recuentos de suscriptores que muestra el Servicio de la API de datos de YouTube se redondean a tres cifras significativas para los recuentos superiores a 1,000. Este cambio afecta la propiedad statistics.subscriberCount del recurso channel
.
Nota: Este cambio afecta este valor de propiedad incluso en los casos en que un usuario envía una solicitud autorizada de datos sobre su propio canal. Los propietarios de canales podrán seguir viendo los recuentos exactos de suscriptores en YouTube Studio.
Por ejemplo, si un canal tiene 123,456 suscriptores, la propiedad statistics.subscriberCount
contendrá el valor 123000
.
En la siguiente tabla, se muestran ejemplos de cómo se redondean los recuentos de suscriptores en las respuestas de la API y se abrevian en otras interfaces de usuario de YouTube visibles para el público:
Ejemplo de recuento de suscriptores | API de YouTube Data | IU de YouTube visibles públicamente |
---|---|---|
1.234 | 1230 | 1,230 |
12,345 | 12300 | 12,300 |
123.456 | 123000 | 123,000 |
1.234.567 | 1230000 | 1.23 M |
12,345,678 | 12300000 | 12.3 M |
123,456,789 | 123000000 | 123 M |
4 de abril de 2019
Esta actualización incluye los siguientes cambios:
-
La documentación de referencia de la API se actualizó para explicar mejor los casos de uso comunes de cada método y proporcionar muestras de código dinámicas y de alta calidad a través del widget del Explorador de APIs. Consulta la documentación del método
channels.list
para ver un ejemplo. Ahora hay dos elementos nuevos en las páginas que describen los métodos de la API:-
El widget del Explorador de APIs te permite seleccionar alcances de autorización, ingresar valores de parámetros y propiedades de muestra y, luego, enviar solicitudes a la API reales y ver las respuestas reales de la API. El widget también ofrece una vista de pantalla completa en la que se muestran muestras de código completas, que se actualizan de forma dinámica para usar los alcances y los valores que ingresaste.
-
En la sección Casos de uso comunes, se describen uno o más casos de uso habituales para el método que se explica en la página. Por ejemplo, puedes llamar al método
channels.list
para recuperar datos sobre un canal específico o sobre el canal del usuario actual.Puedes utilizar los vínculos de esa sección para completar el Explorador de APIs con valores de muestra para tu caso de uso o para abrir el Explorador de APIs en pantalla completa con esos valores ya completados. El objetivo de estos cambios es facilitarte la visualización de muestras de código que se apliquen directamente al caso de uso que intentas implementar en tu propia aplicación.
Actualmente, las muestras de código son compatibles con Java, JavaScript, PHP, Python y curl.
-
-
La herramienta de muestras de código también se actualizó con una nueva IU que ofrece todas las mismas funciones que se describieron anteriormente. Con esa herramienta, puedes explorar casos de uso para diferentes métodos, cargar valores en el Explorador de APIs y abrir el Explorador de APIs de pantalla completa para obtener muestras de código en Java, JavaScript, PHP y Python.
Junto con este cambio, se eliminaron las páginas que anteriormente enumeraban las muestras de código disponibles para Java, JavaScript, PHP y Python.
-
Se actualizaron las guías de inicio rápido de Java, JavaScript, PHP y Python. En las guías revisadas, se explica cómo ejecutar una muestra con una clave de API y otra con un ID de cliente de OAuth 2.0 con ejemplos de código del Explorador de APIs.
Ten en cuenta que los cambios descritos anteriormente reemplazan una herramienta interactiva que se agregó a la documentación de la API en 2017.
9 de julio de 2018
Esta actualización incluye los siguientes cambios:
-
Se actualizó la definición de la propiedad
snippet.thumbnails
del recursochannel
para indicar que, cuando se muestran miniaturas en tu aplicación, tu código debe usar las URLs de las imágenes exactamente como se muestran en las respuestas de la API. Por ejemplo, tu aplicación no debe usar el dominiohttp
en lugar del dominiohttps
en una URL que se muestra en una respuesta de la API.A partir de julio de 2018, las URLs de las miniaturas de los canales solo estarán disponibles en el dominio
https
, que es la forma en que aparecen las URLs en las respuestas de la API. Luego de ese tiempo, es posible que veas imágenes dañadas en tu aplicación si intenta cargar imágenes de YouTube desde el dominiohttp
. -
Nota: Este es un anuncio de baja.
La propiedad
recordingDetails.location.altitude
del recursovideo
dejó de estar disponible. No hay garantía de que los videos devuelvan valores para esta propiedad. Del mismo modo, incluso si las solicitudes a la API intentan establecer un valor para esa propiedad, es posible que los datos entrantes no se almacenen.
22 de junio de 2018
La Guía de implementación, antes conocida como Guía de implementación y migración, se actualizó para quitar las instrucciones para migrar de la API v2 a la API v3. Además, también se quitaron las instrucciones para funciones que dejaron de estar disponibles en la API v3, como los videos favoritos.
27 de noviembre de 2017
Esta actualización incluye los siguientes cambios:
-
Nota: Este es un anuncio de baja.
YouTube quitará la compatibilidad con las funciones Video destacado y Sitio web destacado, que se admiten en la API a través del objeto
invideoPromotion
del recursochannel
. Como resultado, ese objeto, incluidas todas sus propiedades secundarias, dejarán de estar disponibles.Puedes recuperar y configurar los datos de
invideoPromotion
hasta el 14 de diciembre de 2017. Después de esa fecha, ocurrirá lo siguiente:- Los intentos de recuperar la parte
invideoPromotion
cuando se llama achannels.list
mostrarán uninvideoPromotion
vacío o no mostrarán ningún dato deinvideoPromotion
. - Los intentos de actualizar los datos de
invideoPromotion
cuando se llame achannels.update
mostrarán una respuesta correcta hasta, al menos, el 27 de mayo de 2018, pero se tratarán como no-ops, lo que significa que no se realizará una actualización.
Después del 27 de mayo de 2018, es posible que estas solicitudes muestren mensajes de error para indicar, por ejemplo, que
invalidPromotion
es una parte no válida. - Los intentos de recuperar la parte
16 de noviembre de 2017
Esta actualización incluye los siguientes cambios:
-
La herramienta de fragmento de código interactivo ahora es compatible con muestras de código de Node.js. Los ejemplos también se pueden ver en la documentación de casi todos los métodos de la API, como el método
channels.list
.Las muestras personalizables están diseñadas para brindarte un punto de partida específico para un caso de uso de una aplicación de Node.js. La funcionalidad es similar al código de la guía de inicio rápido de Node.js. Sin embargo, los ejemplos contienen algunas funciones de utilidad que no aparecen en la guía de inicio rápido:
- La función
removeEmptyParameters
toma una lista de pares clave-valor que corresponden a los parámetros de solicitud de la API y quita los parámetros que no tienen valores. - La función
createResource
toma una lista de pares clave-valor correspondientes a las propiedades en un recurso de API. Luego, convierte las propiedades en un objeto JSON que se puede usar en las operacionesinsert
yupdate
. En el siguiente ejemplo, se muestra un conjunto de nombres y valores de propiedades, y el objeto JSON que el código crearía para ellos:# Key-value pairs: {'id': 'ABC123', 'snippet.title': 'Resource title', 'snippet.description': 'Resource description', 'status.privacyStatus': 'private'} # JSON object: { 'id': 'ABC123', 'snippet': { 'title': 'Resource title', 'description': 'Resource description', }, 'status': { 'privacyStatus': 'private' } }
Todas estas muestras están diseñadas para descargarse y ejecutarse de forma local. Para obtener más información, consulta los requisitos previos para ejecutar muestras de código completas de forma local en las instrucciones de la herramienta de fragmentos de código.
- La función
25 de octubre de 2017
Esta actualización incluye los siguientes cambios:
-
Los ejemplos de código de Python en la herramienta interactiva de fragmentos de código se actualizaron para usar las bibliotecas
google-auth
ygoogle-auth-oauthlib
en lugar de la bibliotecaoauth2client
, que ahora dejó de estar disponible.Además de ese cambio, la herramienta ahora proporciona muestras de código completas para aplicaciones instaladas de Python y aplicaciones de servidor web de Python, que usan flujos de autorización ligeramente diferentes. Para ver los ejemplos completos (y este cambio), haz lo siguiente:
- Ve a la herramienta interactiva de fragmentos de código o a la documentación de cualquier método de la API, como el método
channels.list
. - Haz clic en la pestaña
Python
ubicada sobre las muestras de código. - Haz clic en el botón de activación que se encuentra sobre las pestañas para cambiar de ver un fragmento a ver un ejemplo completo.
- La pestaña ahora debería mostrar una muestra de código completa que usa el flujo de autorización
InstalledAppFlow
. La descripción que se encuentra sobre la muestra lo explica y también incluye un vínculo a una muestra de una aplicación de servidor web. - Haz clic en el vínculo para cambiar al ejemplo de servidor web. En esa muestra, se usa el framework de aplicación web Flask y un flujo de autorización diferente.
Todas estas muestras están diseñadas para descargarse y ejecutarse de forma local. Si deseas ejecutar las muestras, consulta las instrucciones para ejecutar muestras de código completas de forma local en las instrucciones de la herramienta de fragmento de código.
- Ve a la herramienta interactiva de fragmentos de código o a la documentación de cualquier método de la API, como el método
29 de agosto de 2017
Esta actualización incluye los siguientes cambios:
- Se actualizó la definición del parámetro
forContentOwner
del métodosearch.list
para indicar que, si ese parámetro se establece entrue
, el parámetrotype
debe establecerse envideo
. - Se actualizó la definición del parámetro
regionCode
del métodosearch.list
para aclarar que el parámetro restringe los resultados de la búsqueda a los videos que se pueden ver en la región especificada. - YouTube actualizó los íconos y logotipos de desarrollo de la marca. Puedes descargar los nuevos logotipos de “desarrollado con YouTube” en la página de lineamientos de desarrollo de la marca. En esa página, también se mostrarán otros íconos y logotipos nuevos de YouTube, que se pueden descargar desde el sitio de la marca de YouTube.
24 de julio de 2017
Esta actualización incluye los siguientes cambios:
- Hay una nueva guía de inicio rápido de la API de YouTube Data disponible para iOS. En la guía, se explica cómo usar la API de YouTube Data en una aplicación para iOS simple escrita en Objective-C o Swift.
- La herramienta de fragmento de código interactivo para la API de datos de YouTube ahora incluye documentación que explica algunas de las funciones de la herramienta:
- Ejecutar solicitudes a la API
- Activar o desactivar fragmentos de código y muestras de código completas
- Cómo usar funciones estándar
- Cómo cargar recursos existentes (para métodos de actualización)
Nota: La herramienta también está incorporada en la documentación de referencia de la API para los métodos de la API (ejemplo).
1 de junio de 2017
Esta actualización incluye los siguientes cambios:
-
Nota: Este es un anuncio de baja.
Las siguientes propiedades del recurso
video
dejarán de estar disponibles. Si bien las propiedades serán compatibles hasta el 1 de diciembre de 2017, no hay garantía de que los videos sigan mostrando valores para esas propiedades hasta ese momento. Del mismo modo, las solicitudesvideos.insert
yvideos.update
que establezcan esos valores de propiedad no generarán errores antes de esa fecha, pero es posible que no se almacenen los datos entrantes.
17 de mayo de 2017
Esta actualización incluye los siguientes cambios:
-
Se actualizó la documentación de referencia de la API para que los fragmentos de código sean más interactivos y estén disponibles en todas partes. Las páginas que explican los métodos de la API, como
channels.list
ovideos.rate
, ahora incluyen una herramienta interactiva que te permite ver y personalizar fragmentos de código en Java, JavaScript, PHP, Python, Ruby, Apps Script y Go.Para cualquier método determinado, la herramienta muestra fragmentos de código para uno o más casos de uso, y cada caso de uso describe una forma común de llamar a ese método. Por ejemplo, puedes llamar al método
channels.list
para recuperar datos sobre un canal específico o sobre el canal del usuario actual.También puedes interactuar con las muestras de código:
-
Modifica los valores de los parámetros y las propiedades, y los fragmentos de código se actualizan de forma dinámica para reflejar los valores que proporcionas.
-
Alterna entre fragmentos de código y muestras completas. Un fragmento de código muestra la parte del código que llama al método de la API. Una muestra completa contiene ese fragmento, así como código de plantilla para autorizar y enviar solicitudes. Las muestras completas se pueden copiar y ejecutar desde la línea de comandos o un servidor web local.
-
Para ejecutar solicitudes, haz clic en un botón. (Para ejecutar solicitudes, debes autorizar a la herramienta a llamar a la API en tu nombre).
Ten en cuenta que esta herramienta reemplazó al Explorador de APIs en las páginas en las que está disponible. (Cada página muestra un vínculo para que también tengas la opción de cargar en el Explorador de APIs la solicitud en la que estás trabajando).
-
-
La herramienta Fragmentos de código de la API de datos también se actualizó con una nueva IU que ofrece las mismas funciones descritas anteriormente. Estas son las principales funciones nuevas disponibles en esta página:
- Compatibilidad con solicitudes a la API que escriben datos
- Compatibilidad con muestras de Java
- Código estándar más flexible y completo para autorizar usuarios y crear solicitudes a la API.
27 de abril de 2017
Esta actualización incluye los siguientes cambios:
- Las nuevas guías de inicio rápido explican cómo configurar una aplicación simple que realiza solicitudes a la API de YouTube Data. Actualmente, las guías están disponibles para Android, Apps Script, Go, Java, JavaScript, Node.js, PHP, Python y Ruby.
30 de marzo de 2017
Esta actualización incluye los siguientes cambios:
- La nueva propiedad
topicDetails.topicCategories[]
del recursochannel
incluye una lista de URLs de Wikipedia que describen el contenido del canal. Las URLs corresponden a los IDs de tema que se muestran en la propiedadtopicDetails.topicIds[]
del recurso. - La nueva propiedad
contentDetails.videoPublishedAt
del recursoplaylistItem
identifica la hora en que el video se publicó en YouTube. El recurso ya contiene la propiedadsnippet.publishedAt
, que identifica el momento en que el elemento se agregó a la playlist. - Al igual que el recurso
channel
, el recursovideo
ahora muestra la propiedadtopicDetails.topicCategories[]
, que contiene una lista de URLs de Wikipedia que describen el contenido del video. Para los recursosvideo
, las URLs corresponden a los IDs de temas que se muestran en la propiedadtopicDetails.relevantTopicIds[]
del recurso. - La nueva propiedad
contentDetails.contentRating.mpaatRating
del recursovideo
identifica la clasificación que la Motion Picture Association of America le asignó a un avance o una vista previa de una película.
27 de febrero de 2017
Tal como se anunció el 11 de agosto de 2016, YouTube cambió la lista admitida de IDs de tema a una lista seleccionada. La lista completa de los IDs de temas admitidos se incluye en las propiedades topicDetails
de los recursos channel
y video
, así como en el parámetro topicId
del método search.list
.
Ten en cuenta que hay varios cambios en la lista seleccionada:
- Se agregaron los siguientes temas como subtemas de
Society
:Nombre ID del tema Empresa /m/09s1f
Salud /m/0kt51
Militar /m/01h6rj
Política /m/05qt0
Religión /m/06bvp
- Se quitó el tema
Animated cartoon
, que antes era un elemento secundario deEntertainment
. - Se quitó el tema
Children's music
, que anteriormente era un elemento secundario deMusic
.
Como resultado de este cambio, los temas relacionados con un video ahora siempre se muestran en el valor de la propiedad topicDetails.relevantTopicIds[]
del recurso video
.
29 de noviembre de 2016
Esta actualización incluye los siguientes cambios:
-
Existen tres pequeños cambios en la lista de IDs de temas que se admitirán a partir del 10 de febrero de 2017:
- La categoría
Professional wrestling
, que antes era secundaria de la categoríaSports
, ahora es un elemento secundario deEntertainment
. - La categoría
TV shows
, que es un elemento secundario deEntertainment
, es nueva. - Se quitó la categoría
Health
, que anteriormente era un elemento secundario deLifestyle
.
Además, ten en cuenta que hay algunas categorías superiores (
Entertainment
,Gaming
,Lifestyle
,Music
ySports
). Cualquier video asociado con una categoría secundaria, comoTennis
, también se asociará con la categoría superior (Sports
). - La categoría
10 de noviembre de 2016
Esta actualización incluye los siguientes cambios:
-
Como se anunció por primera vez el 11 de agosto de 2016, la baja de Freebase y de la API de Freebase requiere realizar varios cambios en relación con los ID de tema. Los ID de tema identifican temas asociados con los recursos
channel
yvideo
. También puedes usar el parámetro de búsquedatopicId
para buscar canales o videos relacionados con un tema específico.A partir del 10 de febrero de 2017, YouTube comenzará a mostrar un pequeño conjunto de ID de temas en lugar del conjunto mucho más detallado de ID que se mostró hasta ahora. Además, ten en cuenta que no se garantiza que los canales y los videos estén asociados con ningún tema, lo que es coherente con el comportamiento actual de la API.
Para que puedas preparar tus clientes de API para esos cambios, se actualizaron las definiciones de los siguientes parámetros y propiedades de la API para enumerar los IDs de tema que se admitirán después de ese momento. Ten en cuenta que la lista de categorías es la misma para todas las propiedades.
- La propiedad
topicDetails.topicIds[]
del recursochannel
- La propiedad
topicDetails.relevantTopicIds[]
del recursovideo
- El parámetro
topicId
del métodosearch.list
- La propiedad
-
Nota: Este es un anuncio de baja.
Las siguientes propiedades dejarán de estar disponibles:
- La propiedad
topicDetails.topicIds[]
del recursochannel
Esta propiedad se admitirá hasta el 10 de noviembre de 2017. - La propiedad
topicDetails.relevantTopicIds[]
del recursovideo
Esta propiedad se admitirá hasta el 10 de noviembre de 2017. - La propiedad
topicDetails.topicIds[]
del recursovideo
. Esta propiedad no contendrá valores después del 10 de febrero de 2017. (Después de esa fecha, el valor de la propiedadtopicDetails.relevantTopicIds[]
identificará todos los temas asociados con un video).
- La propiedad
-
Dado que Freebase ya dejó de estar disponible, la guía Cómo realizar búsquedas con temas de Freebase se quitó de la documentación. Esa guía proporcionó muestras de código para demostrar cómo funcionaría una aplicación con la API de Freebase.
Además, se quitaron varias muestras de código relacionadas con los IDs de tema de la documentación del método
search.list
.
2 de noviembre de 2016
Esta actualización incluye los siguientes cambios:
-
Nuevas propiedades y parámetros
-
El recurso
video
contiene varias propiedades nuevas:-
La propiedad
player.embedHtml
contiene una etiqueta<iframe>
que puedes usar para incorporar un reproductor que reproduzca el video. Las nuevas propiedadesplayer.embedHeight
yplayer.embedWidth
identifican las dimensiones del reproductor incorporado. Estas propiedades solo se muestran si la solicitud a la API especifica un valor para al menos uno de los parámetrosmaxHeight
omaxWidth
. Estos dos parámetros nuevos se explican más adelante en esta entrada del historial de revisiones. -
La nueva propiedad
hasCustomThumbnail
indica si la persona que subió el video proporcionó una imagen de miniatura personalizada para él. Ten en cuenta que esta propiedad solo es visible para quien sube el video. -
El nuevo
fpbRatingReasons[]
identifica los motivos por los que el video recibió la clasificación de la FPB (Sudáfrica). -
El nuevo
mcstRating
identifica la calificación que recibió el video en Vietnam.
-
-
El método
videos.list
admite dos parámetros nuevos:maxHeight
ymaxWidth
. Puedes usar uno o ambos parámetros cuando recuperes la parteplayer
en los recursosvideo
.De forma predeterminada, la altura del
<iframe>
que se muestra en la propiedadplayer.embedHtml
es de 360 px. El ancho se ajusta para que coincida con la relación de aspecto del video, lo que garantiza que el reproductor incorporado no tenga barras negras que enmarquen el video. Por ejemplo, si la relación de aspecto de un video es de 16:9, el ancho del reproductor sería de 640 px.Con los parámetros nuevos, puedes especificar que, en lugar de las dimensiones predeterminadas, el código de incorporación debe usar una altura o un ancho adecuados para el diseño de tu aplicación. El servidor de la API ajusta las dimensiones del reproductor según corresponda para garantizar que el reproductor incorporado no tenga barras negras que enmarquen el video. Ten en cuenta que ambos parámetros especifican las dimensiones máximas del reproductor incorporado. Por lo tanto, si se especifican ambos parámetros, es posible que una dimensión siga siendo menor que el importe máximo permitido para esa dimensión.
Por ejemplo, supongamos que un video tiene una relación de aspecto de 16:9. Por lo tanto, la etiqueta
player.embedHtml
contendría un reproductor de 640 × 360 si no se establece el parámetromaxHeight
omaxWidth
.- Si el parámetro
maxHeight
se establece en720
y no se establece el parámetromaxWidth
, la API mostrará un reproductor de 1280 × 720. - Si el parámetro
maxWidth
se establece en960
y no se establece el parámetromaxHeight
, la API mostrará un reproductor de 960 × 540. - Si el parámetro
maxWidth
se establece en960
y el parámetromaxHeight
en450
, la API mostrará un reproductor de 800 × 450.
Las nuevas propiedades
player.embedHeight
yplayer.embedWidth
, que se describieron anteriormente, identifican las dimensiones del reproductor. - Si el parámetro
-
-
Actualizaciones de métodos, propiedades y parámetros existentes
-
Se actualizó la descripción del recurso
channelSection
para indicar que un canal puede crear un máximo de 10 bibliotecas sin establecer datos de segmentación y puede crear un máximo de 100 bibliotecas con datos de segmentación.Además, se actualizó la propiedad
targeting
del recursochannelSection
para reflejar el hecho de que las opciones de segmentación solo se pueden configurar con la API. Las opciones de segmentación se borran si se modifica la sección del canal con la interfaz de usuario del sitio web de YouTube. -
Se corrigió la definición de la propiedad
snippet.name
del recursoi18nLanguage
para reflejar que el valor representa el nombre de un idioma tal como está escrito en el idioma especificado en el parámetrohl
del métodoi18nLanguage.list
. -
Se actualizó la propiedad
contentDetails.note
del recursoplaylistItem
para indicar que la longitud máxima del valor de la propiedad es de 280 caracteres. -
Las propiedades
contentDetails.startAt
ycontentDetails.endAt
del recursoplaylistItem
dejaron de estar disponibles. Estos campos se ignoran si se configuran en solicitudesplaylistItems.insert
oplaylistItems.update
. -
Los métodos
playlistItems.delete
yplaylistItems.update
ahora admiten el parámetroonBehalfOfContentOwner
, que ya es compatible con muchos otros métodos. Las solicitudes que usan ese método también deben estar autorizadas con un token que proporcione acceso al alcancehttps://www.googleapis.com/auth/youtubepartner
. -
Los parámetros
publishedBefore
ypublishedAfter
del métodosearch.list
se actualizaron para indicar que los valores de los parámetros son inclusivos. Por ejemplo, si se establece el parámetropublishedBefore
, la API muestra los recursos creados antes o en la hora especificada. -
La propiedad
contentDetails.contentRating.grfilmRating
del recursovideo
admite tres valores adicionales:grfilmK12
,grfilmK15
ygrfilmK18
. -
Se actualizó la descripción del método
videos.insert
para indicar que el tamaño máximo de los archivos de los videos subidos aumentó de 64 GB a 128 GB.
-
-
Errores nuevos y actualizados
-
La API admite los siguientes errores nuevos:
Tipo de error Detalle del error Descripción forbidden (403)
homeParameterDeprecated
El método activities.list
muestra este error para indicar que los datos de actividad de la página principal del usuario no están disponibles a través de esta API. Este error puede ocurrir si configuras el parámetrohome
comotrue
en una solicitud no autorizada.invalidValue (400)
invalidContentDetails
El método playlistItems.insert
muestra este error para indicar que el objetocontentDetails
de la solicitud no es válido. Uno de los motivos por los que se produce este error es que el campocontentDetails.note
tiene más de 280 caracteres.forbidden (403)
watchHistoryNotAccessible
El método playlistItems.list
muestra este error para indicar que la solicitud intentó recuperar elementos de la playlist “historial de reproducciones”, pero estos no se pueden recuperar con la API.forbidden (403)
watchLaterNotAccessible
El método playlistItems.list
muestra este error para indicar que la solicitud intentó recuperar elementos de la playlist “ver más tarde”, pero no se pueden recuperar con la API.badRequest (400)
uploadLimitExceeded
El método videos.insert
muestra este error para indicar que el canal superó la cantidad de videos que puede subir.forbidden (403)
forbiddenEmbedSetting
El método videos.update
muestra este error para indicar que la solicitud de la API intenta establecer un parámetro de configuración de incorporación no válido para el video. Ten en cuenta que es posible que algunos canales no tengan permiso para ofrecer reproductores incorporados en las transmisiones en vivo. Para obtener más información, consulta el Centro de ayuda de YouTube. -
El método
playlistItems.insert
ya no muestra un error si insertas un video duplicado en una playlist. Anteriormente, ese error se producía en algunas playlists, como los videos favoritos, que no permitían duplicados, pero que ya no son compatibles. En general, las playlists permiten videos duplicados.
-
-
Otras actualizaciones
-
Se actualizó la entrada del historial de revisión del 15 de septiembre de 2016 para aclarar que, siempre que se incluyan en una respuesta las propiedades
contentDetails.relatedPlaylists.watchHistory
ycontentDetails.relatedPlaylists.watchLater
del recursochannel
, siempre contendrán los valoresHL
yWL
, respectivamente. Además, esas propiedades solo se incluyen si un usuario autorizado recupera datos sobre el canal del usuario.
-
15 de septiembre de 2016
Esta actualización incluye los siguientes cambios:
-
En la actualización del historial de revisión del 11 de agosto de 2016, se analizaron varios cambios relacionados con los IDs de temas, incluido el hecho de que el conjunto de IDs de temas admitidos cambiará a partir del 10 de febrero de 2017. La lista de temas que se admitirán se publicará el 10 de noviembre de 2016.
-
Los siguientes cambios ya entraron en vigencia. Estos cambios se notificaron en la actualización del historial de revisión el 11 de agosto de 2016:
-
Si se llama al método
activities.list
con el parámetrohome
establecido entrue
, la respuesta de la API ahora contiene elementos similares a los que un usuario de YouTube que no accedió a su cuenta vería en la página principal.Este es un pequeño cambio que tiene como objetivo proporcionar una mejor experiencia del usuario que el comportamiento descrito en la actualización del historial de revisión del 11 de agosto de 2016. En esa actualización, se indicaba que las solicitudes que usaban el parámetro
home
mostrarían una lista vacía. -
Las propiedades
contentDetails.relatedPlaylists.watchHistory
ycontentDetails.relatedPlaylists.watchLater
del recursochannel
ahora contienen valores deHL
yWL
, respectivamente, para todos los canales.Para ser claros, estas propiedades solo son visibles para un usuario autorizado que recupera datos sobre el canal del usuario. Las propiedades siempre contienen los valores
HL
yWL
, incluso para un usuario autorizado que recupera datos sobre el canal del usuario. Por lo tanto, los ID de las listas de reproducción del historial de reproducciones y de la lista de reproducción Ver más tarde no se pueden recuperar a través de la API.Además, las solicitudes para recuperar los detalles de la playlist (
playlists.list
) o los elementos de la playlist (playlistItems.list
) del historial de reproducciones de un canal o de la playlist Ver más tarde ahora mostrarán listas vacías. Este comportamiento es válido para los valores nuevos,HL
yWL
, así como para cualquier ID de historial de reproducciones o playlist de reproducción más tarde que tu cliente de API ya haya almacenado.
-
-
Ya no se muestra el objeto
fileDetails.recordingLocation
del recursovideo
ni sus propiedades secundarias. Anteriormente, estos datos (como el objeto superiorfileDetails
) solo los podía recuperar el propietario de un video.
11 de agosto de 2016
Esta actualización incluye los siguientes cambios:
-
Las nuevas Condiciones del Servicio de los Servicios de la API de YouTube (“las Condiciones actualizadas”), que se analizan en detalle en el Blog para desarrolladores e ingeniería de YouTube, proporcionan un conjunto amplio de actualizaciones a las Condiciones del Servicio actuales. Además de las Condiciones actualizadas, que entrarán en vigencia el 10 de febrero de 2017, esta actualización incluye varios documentos de respaldo que ayudan a explicar las políticas que deben seguir los desarrolladores.
El conjunto completo de documentos nuevos se describe en el historial de revisión de las Condiciones actualizadas. Además, en ese historial de revisiones también se explicarán los cambios futuros en las Condiciones Actualizadas o en esos documentos de respaldo. Puedes suscribirte a un feed RSS que muestre los cambios en ese historial de revisión desde un vínculo en ese documento.
-
La baja de Freebase y de la API de Freebase provoca varios cambios en relación con los ID de temas. Los IDs de tema se usan en los siguientes recursos y métodos de la API:
- La parte
topicDetails
del recursochannel
identifica los temas asociados con el canal. - La parte
topicDetails
del recursovideo
identifica los temas asociados con el video. - El parámetro
topicId
del métodosearch.list
te permite buscar videos o canales relacionados con un tema específico.
Los cambios en estas funciones son los siguientes:
-
A partir del 10 de febrero de 2017, YouTube comenzará a mostrar un conjunto pequeño de IDs de temas en lugar del conjunto mucho más detallado que se mostraba hasta ahora. Ese conjunto de temas admitidos identificará categorías generales, como Deportes o Básquet, pero, por ejemplo, no identificará equipos ni jugadores específicos. Anunciaremos el conjunto de temas admitidos para que tengas tiempo de preparar tu aplicación para este cambio.
-
Los IDs de temas de Freebase que ya hayas recuperado se podrán usar para buscar contenido hasta el 10 de febrero de 2017. Sin embargo, después de ese tiempo, solo podrás usar el conjunto más pequeño de temas identificado en el elemento anterior para recuperar los resultados de la búsqueda por tema.
-
Después del 10 de febrero de 2017, si intentas buscar resultados con un ID de tema que no está en el conjunto más pequeño de IDs de tema admitidos, la API mostrará un conjunto de resultados vacío.
- La parte
-
Varios campos y parámetros de la API dejarán de estar disponibles a partir del 12 de septiembre de 2016:
-
El parámetro
home
del métodoactivities.list
permitía que un usuario autorizado recuperara el feed de actividad que se mostraría en la página principal de YouTube para ese usuario. Las solicitudes que usen este parámetro después del 12 de septiembre de 2016 mostrarán una lista vacía. -
Las propiedades
contentDetails.relatedPlaylists.watchHistory
ycontentDetails.relatedPlaylists.watchLater
del recursochannel
solo son visibles para un usuario autorizado que recupera datos sobre el propio canal del usuario. Después del 12 de septiembre de 2016,contentDetails.relatedPlaylists.watchHistory
mostrará un valor deHL
y la propiedadcontentDetails.relatedPlaylists.watchLater
mostrará un valor deWL
para todos los canales.Las solicitudes para recuperar los detalles de las playlists (
playlists.list
) del historial de reproducciones o la playlist de Ver más tarde de un canal mostrarán una lista vacía después del 12 de septiembre de 2016. Las solicitudes para recuperar elementos de playlist (playlistItems.list
) en cualquiera de esas playlists también mostrarán una lista vacía después de ese tiempo. Esto se aplica a los nuevos valores,HL
yWL
, así como a los ID de los historiales de reproducciones o de las listas de reproducción para ver más tarde que tu cliente de API ya haya almacenado. -
El objeto
fileDetails.recordingLocation
del recursovideo
o cualquiera de sus propiedades secundarias ya no se mostrará después del 12 de septiembre de 2016. Solo el propietario de un video puede recuperar estos datos, ya que solo el propietario de un video puede recuperar el objetofileDetails
superior.
-
13 de junio de 2016
Esta actualización incluye los siguientes cambios:
-
La propiedad
contentDetails.googlePlusUserId
del recursochannel
dejó de estar disponible. Anteriormente, la propiedad solo estaba presente si el canal estaba asociado con un perfil de Google+. Después de la baja, la propiedad ya no se incluirá en ningún recursochannel
. -
La propiedad
snippet.authorGoogleplusProfileUrl
del recursocomment
dejó de estar disponible. Anteriormente, la propiedad solo estaba presente si el canal estaba asociado a un perfil de Google+. Después de la baja, la propiedad ya no se incluirá en ningún recursocomment
.
Dado que ninguna de estas propiedades se mostrará después de la baja, ambas se quitaron de la documentación del recurso correspondiente.
31 de mayo de 2016
Esta actualización incluye los siguientes cambios:
-
El nuevo parámetro
myRecentSubscribers
del métodosubscriptions.list
recupera una lista de los suscriptores del canal del usuario autenticado en orden cronológico inverso de la fecha en que se suscribieron al canal.Ten en cuenta que el nuevo parámetro solo admite la recuperación de los 1000 suscriptores más recientes del canal del usuario autenticado. Para recuperar una lista completa de suscriptores, usa el parámetro
mySubscribers
. Ese parámetro, que no muestra suscriptores en un orden en particular, no limita la cantidad de suscriptores que se pueden recuperar. -
Se actualizó la definición de la propiedad
snippet.thumbnails.(key)
para los recursos activity, playlistItem, playlist, search result, thumbnail y video para indicar que hay tamaños de imagen de miniatura adicionales disponibles para algunos videos.- La imagen de
standard
tiene 640 px de ancho y 480 px de alto. - La imagen
maxres
tiene 1,280 px de ancho y 720 px de alto.
- La imagen de
-
Se actualizó la definición del parámetro
part
del métodochannelSection.list
para indicar que la partetargeting
se puede recuperar a un costo de2
unidades de cuota. -
El método
videos.list
ahora muestra un error prohibido (403
) cuando una solicitud autorizada de forma incorrecta intenta recuperar las partesfileDetails
,processingDetails
osuggestions
de un recursovideo
. Esas partes solo están disponibles para el propietario del video.
17 de mayo de 2016
La nueva herramienta Fragmentos de código de la API de datos proporciona fragmentos de código cortos para casos de uso comunes de la API de datos de YouTube. Actualmente, los fragmentos de código están disponibles para todos los métodos de API de solo lectura en Apps Script, Go, JavaScript, PHP, Python y Ruby.
Para cada método, la herramienta presenta muestras de código de uno o más casos de uso. Por ejemplo, proporciona cinco fragmentos de código para el método search.list
:
- Enumera videos por palabra clave
- Cómo mostrar videos por ubicación
- Cómo ver una lista de eventos en vivo
- Buscar los videos del usuario autenticado
- Cómo mostrar una lista de videos relacionados
Para cada caso de uso, la herramienta muestra los parámetros que se usan en la solicitud a la API. Puedes modificar los valores de los parámetros, en cuyo caso la herramienta actualiza los fragmentos de código para reflejar los valores de parámetros que proporcionaste.
Por último, la herramienta muestra la respuesta de la API a cada solicitud. Si modificaste los parámetros de la solicitud, la respuesta de la API se basará en los valores de los parámetros proporcionados. Ten en cuenta que debes autorizar a la herramienta para que envíe solicitudes en tu nombre para que se muestren las respuestas de la API.
28 de abril de 2016
Esta actualización incluye los siguientes cambios:
-
La nueva propiedad
contentDetails.projection
del recursovideo
especifica el formato de proyección del video. Los valores válidos de la propiedad son360
yrectangular
. -
Se actualizaron las propiedades
recordingDetails.location
yfileDetails.recordingLocation
del recursovideo
para explicar la diferencia entre las dos propiedades:- La propiedad
recordingDetails.location
identifica la ubicación que el propietario del video quiere asociar con este. Esta ubicación se puede editar, se puede buscar en los videos públicos y es posible que se muestre a los usuarios en los videos públicos. - El valor de la propiedad
fileDetails.recordingLocation
es inmutable y representa la ubicación asociada con el archivo de video original que se subió. Solo el propietario del video puede ver este valor.
- La propiedad
-
Se actualizó la definición de la propiedad
contentDetails.relatedPlaylists.favorites
del recursochannel
para indicar que el valor de la propiedad puede contener el ID de una playlist que hace referencia a una playlist vacía y que no se puede recuperar. Esto se debe a que la función de videos favoritos ya no está disponible. Ten en cuenta que esta propiedad no está sujeta a la política de baja de la API. -
La definición del error
ineligibleAccount
, que puede mostrar el métodocomments.insert
,comments.update
,commentThreads.insert
ocommentThreads.update
, se actualizó para reflejar que el error se produce cuando la cuenta de YouTube que se utilizó para autorizar la solicitud a la API no se fusionó con la Cuenta de Google del usuario.
20 de abril de 2016
Esta actualización incluye los siguientes cambios:
-
Se actualizó la definición del parámetro
part
del métodochannels.update
para indicar quelocalizations
también es un valor válido para ese parámetro. -
Se actualizó la sección Uso de la cuota de la guía de Introducción para vincularla a Play Console, donde puedes ver tu cuota real y su uso.
16 de marzo de 2016
Esta actualización incluye los siguientes cambios:
-
Actualizaciones de los recursos y métodos existentes
-
Se actualizó la documentación del recurso
channelBanner
para indicar que el tamaño recomendado para la imagen del banner del canal subida es de 2560 px por 1440 px. El tamaño mínimo (2048 por 1152 píxeles) no ha cambiado. -
La nueva propiedad
snippet.customUrl
del recursochannel
identifica la URL personalizada asociada con el canal. (No todos los canales tienen URLs personalizadas). En el Centro de ayuda de YouTube, se explican los requisitos de elegibilidad para obtener una URL personalizada y cómo configurarla. -
El objeto
brandingSettings.watch
del recursochannel
y todas sus propiedades secundarias dejaron de estar disponibles. -
La respuesta de la API a una solicitud
search.list
ahora contiene una propiedadregionCode
. La propiedad identifica el código de región que se usó para la búsqueda. El código de región le indica a la API que muestre los resultados de la búsqueda para el país especificado.El valor de la propiedad es un código de país ISO de dos letras que identifica la región. El método
i18nRegions.list
muestra una lista de las regiones compatibles. El valor predeterminado esUS
. Si se especifica una región no admitida, es posible que YouTube seleccione otra región, en lugar del valor predeterminado, para controlar la consulta. -
Se actualizaron las definiciones de las propiedades
snippet.label
ysnippet.secondaryReasons[].label
del recursovideoAbuseReportReason
para indicar que contienen texto de etiquetas localizado para los motivos de los informes de abuso.Además, el método
videoAbuseReportReasons.list
ahora admite el parámetrohl
, que especifica el idioma que se debe usar para el texto de la etiqueta en la respuesta de la API. El valor predeterminado del parámetro esen_US
. -
La nueva propiedad
contentDetails.contentRating.ecbmctRating
del recursovideo
identifica la clasificación de un video de la Junta de Evaluación y Clasificación del Ministerio de Cultura y Turismo de Turquía.Además, las propiedades de la API para otros sistemas de clasificación admiten los siguientes valores de propiedades nuevos:
contentDetails.contentRating.fpbRating
(Sudáfrica)
Calificación: 10; valor de la propiedad:fpb10
contentDetails.contentRating.moctwRating
(Taiwán)
Calificación: R-12; valor de la propiedad:moctwR12
contentDetails.contentRating.moctwRating
(Taiwán)
Calificación: R-15; valor de la propiedad:moctwR15
-
La propiedad
liveStreamingDetails.activeLiveChatId
del recursovideo
contiene el ID del chat en vivo activo asociado con el video. El valor de la propiedad solo está presente si el video es una transmisión en vivo actual que tiene habilitado el chat en vivo. Después de que finaliza la transmisión y el chat en vivo, la propiedad ya no se muestra en el video. -
La propiedad
status.rejectionReason
del recursovideo
admite el nuevo valor de propiedadlegal
.
-
-
La API admite los siguientes errores nuevos:
Tipo de error Detalle del error Descripción badRequest (400)
notEditable
Los métodos channelSections.insert
,channelSections.update
ychannelSections.delete
muestran este error para indicar que no se puede crear, actualizar ni borrar la sección del canal especificada.badRequest (400)
styleRequired
Los métodos channelSections.insert
ychannelSections.update
muestran este error para indicar que el recursochannelSection
que se envió en la solicitud a la API debe especificar un valor para la propiedadsnippet.style
.badRequest (400)
typeRequired
Los métodos channelSections.insert
ychannelSections.update
muestran este error para indicar que el recursochannelSection
enviado en la solicitud a la API debe especificar un valor para la propiedadsnippet.type
.badRequest (400)
processingFailure
El método commentThreads.list
muestra este error para indicar que el servidor de la API no pudo procesar correctamente la solicitud. Si bien este puede ser un error transitorio, por lo general, indica que la entrada de la solicitud no es válida. Verifica la estructura del recursocommentThread
en el cuerpo de la solicitud para asegurarte de que sea válida.forbidden (403)
commentsDisabled
El método commentThreads.list
muestra este error para indicar que el video identificado por el parámetrovideoId
inhabilitó los comentarios.badRequest (400)
commentTextTooLong
El método commentThreads.insert
muestra este error para indicar que el recursocomment
que se inserta contiene demasiados caracteres en la propiedadsnippet.topLevelComment.snippet.textOriginal
.invalidValue (400)
videoAlreadyInAnotherSeriesPlaylist
El método playlistItems.insert
muestra este error para indicar que el video que intentas agregar a la playlist ya está en otra playlist de series. Consulta el Centro de ayuda de YouTube para obtener más información sobre las playlists de series.badRequest (400)
subscriptionForbidden
El método subscriptions.insert
muestra este error para indicar que alcanzaste la cantidad máxima de suscripciones o que creaste demasiadas suscripciones recientes. En el último caso, puedes reintentar la solicitud después de unas horas.badRequest (400)
invalidCategoryId
El método videos.update
muestra este error para indicar que la propiedadsnippet.categoryId
en el recursovideo
subido especificó un ID de categoría no válido. Usa el métodovideoCategories.list
para recuperar las categorías admitidas.badRequest (400)
invalidDescription
El método videos.update
muestra este error para indicar que la propiedadsnippet.description
en el recursovideo
subido especificó un valor no válido.badRequest (400)
invalidPublishAt
El método videos.update
muestra este error para indicar que la propiedadstatus.publishAt
en el recursovideo
subido especificó una hora de publicación programada no válida.badRequest (400)
invalidRecordingDetails
El método videos.update
muestra este error para indicar que el objetorecordingDetails
en el recursovideo
subido especificó detalles de registro no válidos.badRequest (400)
invalidTags
El método videos.update
muestra este error para indicar que la propiedadsnippet.tags
en el recursovideo
subido especificó un valor no válido.badRequest (400)
invalidTitle
El método videos.update
muestra este error para indicar que la propiedadsnippet.title
en el recursovideo
subido especificó un título de video no válido o vacío.badRequest (400)
invalidVideoMetadata
El método videos.update
muestra este error para indicar que los metadatos de la solicitud no son válidos. Este error se produce si la solicitud actualiza la partesnippet
de un recursovideo
, pero no establece un valor para las propiedadessnippet.title
nisnippet.categoryId
.
18 de diciembre de 2015
Las leyes de la Unión Europea (UE) exigen que se proporcione cierta divulgación a los usuarios finales de la UE y que se obtenga el consentimiento de ellos. Por lo tanto, en el caso de los usuarios finales de la Unión Europea, debe satisfacer la Política de Consentimiento de Usuarios de la UE. Agregamos un aviso sobre este requisito en las Condiciones del Servicio de la API de YouTube.
19 de noviembre de 2015
La API ahora admite la capacidad de establecer y recuperar texto localizado para las propiedades snippet.title
y snippet.description
de los recursos playlist
y video
, la propiedad snippet.title
del recurso channelSection
y la propiedad snippet.description
del recurso channel
.
-
Cómo configurar títulos y descripciones localizados
Puedes establecer valores localizados para un recurso cuando llamas al método
insert
oupdate
para ese recurso. Para establecer valores localizados para un recurso, haz lo siguiente:-
Asegúrate de que se haya establecido un valor para la propiedad
snippet.defaultLanguage
del recurso. Esa propiedad identifica el idioma de las propiedadessnippet.title
ysnippet.description
del recurso. El valor puede ser cualquier idioma de aplicación compatible o la mayoría de los demás códigos de idioma ISO 639-1:2002. Por ejemplo, si subes un video que tiene un título y una descripción en inglés, debes establecer la propiedadsnippet.defaultLanguage
enen
.Nota para actualizar recursos
channel
: Para establecer la propiedadsnippet.defaultLanguage
de un recursochannel
, debes actualizar la propiedadbrandingSettings.channel.defaultLanguage
. -
Agrega el objeto
localizations
al recurso que deseas actualizar. Cada clave de objeto es una cadena que identifica un idioma de la aplicación o un código de idioma ISO 639-1:2002, y cada clave se asigna a un objeto que contiene el título (y la descripción) localizado del recurso.En el siguiente fragmento de ejemplo, se configura el idioma predeterminado del recurso en inglés. También agrega títulos y descripciones localizados en alemán y español a un video:
{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", ... }, "localizations": "de": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" }, "es": { "title": "Jugar al fútbol", "description": "Nosotros jugamos fútbol en el parque los domingos", } } }
Importante: Recuerda que, cuando actualizas los datos localizados de un recurso, la solicitud a la API debe incluir todas las versiones localizadas existentes de los datos. Por ejemplo, si enviaste una solicitud posterior para agregar datos en portugués al video del ejemplo anterior, la solicitud deberá incluir datos localizados en alemán, español y portugués.
-
-
Cómo recuperar valores localizados
La API admite dos maneras de recuperar valores localizados para un recurso:
-
Agrega el parámetro
hl
a tu solicitud dechannels.list
,channelSections.list
,playlists.list
ovideos.list
para recuperar datos localizados de un idioma de aplicación específico compatible con el sitio web de YouTube. Si los detalles del recurso localizado están disponibles en ese idioma, el objetosnippet.localized
del recurso contendrá los valores localizados. Sin embargo, si no hay detalles localizados disponibles, el objetosnippet.localized
contendrá detalles del recurso en el idioma predeterminado del recurso.Por ejemplo, supongamos que una solicitud
videos.list
recupera datos para el video descrito anteriormente con datos localizados en alemán y español. Si el parámetrohl
se configurara comode
, el recurso contendría los siguientes datos:{ "kind": "youtube#video", ... "snippet": { "title": "Playing soccer", "description": "We play soccer in the park on Sundays.", "defaultLanguage": "en", "localized": { "title": "Fußball spielen", "description": "Wir spielen Fußball im Park am Sonntag" } ... } }
Sin embargo, si el parámetro
hl
se configurara enfr
, el objetosnippet.localized
contendría el título y la descripción en inglés porque este es el idioma predeterminado del recurso y los detalles localizados en francés no están disponibles.Importante: El parámetrohl
solo admite valores que identifican los idiomas de la aplicación que admite el sitio web de YouTube. Para determinar si el texto localizado está disponible para otros idiomas, debes recuperar la partelocalizations
del recurso y filtrar para determinar si el texto localizado existe.
Por ejemplo, debes recuperar la lista completa de localizaciones para determinar si el texto localizado está disponible en inglés de los Apalaches.
-
Cuando recuperes un recurso, incluye
localizations
en el valor del parámetropart
para recuperar todos los detalles localizados de ese recurso. Si quieres recuperar datos localizados de un idioma que no es el idioma actual de una aplicación de YouTube, debes usar este enfoque para recuperar todas las localizaciones y, luego, aplicar un filtro para determinar si existen los datos localizados que deseas.
-
-
Errores relacionados con valores de texto localizado
La API también admite los siguientes errores nuevos para valores de texto localizado:
Tipo de error Detalle del error Descripción badRequest (400)
defaultLanguageNotSetError
Este error indica que falla una solicitud que intenta insertar o actualizar el objeto localizations
de un recurso porque la propiedadsnippet.defaultLanguage
no está configurada para ese recurso. Los métodoschannels.update
,channelSections.insert
,channelSections.update
,playlists.insert
,playlists.update
,videos.insert
yvideos.update
admiten este error.badRequest (400)
localizationValidationError
Este error indica que no se pudo validar uno de los valores en el objeto localizations
de un recurso. Por ejemplo, este error puede ocurrir si el objeto contiene un código de idioma no válido. Los métodoschannels.update
,channelSections.insert
,channelSections.update
,playlists.insert
yplaylists.update
admiten este error.
4 de noviembre de 2015
Esta actualización incluye los siguientes cambios:
-
Actualizaciones de recursos y métodos existentes
-
Se actualizó el parámetro
order
del métodosearch.list
para indicar que, si ordenas las transmisiones en vivo porviewCount
, los resultados de la API se ordenan por la cantidad de usuarios simultáneos de las transmisiones mientras estas aún están en curso. -
Se actualizó el parámetro
relatedToVideoId
del métodosearch.list
para indicar que, si se establece, los únicos otros parámetros admitidos sonpart
,maxResults
,pageToken
,regionCode
,relevanceLanguage
,safeSearch
,type
(que se debe establecer envideo
) yfields
. Esta actualización no refleja un cambio en el comportamiento de la API. -
Se actualizó la definición de la propiedad
snippet.publishedAt
del recursovideo
para indicar que el valor de la propiedad, que especifica la fecha y hora en que se publicó el video, puede ser diferente de la hora en que se subió. Por ejemplo, si un video se sube como privado y, luego, se hace público más adelante, el valor de la propiedad especifica el momento en que se hizo público. La definición actualizada también explica cómo se propaga el valor para los videos privados y no listados.Este cambio no refleja un cambio en el comportamiento de la API.
-
Se actualizó la definición de la propiedad
status.publishAt
del recursovideo
para que tenga en cuenta lo siguiente:- Si estableces el valor de esta propiedad cuando llames al método
videos.update
, también debes establecer el valor de la propiedadstatus.privacyStatus
enprivate
, incluso si el video ya es privado. - Si la solicitud programa un video para que se publique en algún momento del pasado, se publicará de inmediato. Por lo tanto, el efecto de configurar la propiedad
status.publishAt
en una fecha y hora pasadas es el mismo que cambiar elprivacyStatus
del video deprivate
apublic
.
- Si estableces el valor de esta propiedad cuando llames al método
-
La propiedad
contentDetails.contentRating.cncRating
del recursovideo
especifica la calificación del video según la Comisión de Clasificación Cinematográfica de Francia. Esta propiedad reemplaza a la propiedadcontentDetails.contentRating.fmocRating
, que dejó de estar disponible. -
Se actualizó la definición de brandingSettings.channel.keywords del recurso
channel
para reflejar correctamente que el valor de la propiedad contiene una lista de cadenas separadas por espacios y no una lista separada por comas, como se documentó anteriormente. Esta actualización no refleja un cambio en el comportamiento de la API. -
Se actualizó la documentación del método
thumbnails.set
para reflejar con precisión que el cuerpo de la solicitud contiene la imagen de miniatura que subes y asocias con un video. El cuerpo de la solicitud no contiene un recursothumbnail
. Anteriormente, la documentación decía que no debías proporcionar un cuerpo de solicitud cuando se llamaba a este método. Esta actualización no refleja un cambio en el comportamiento de la API. -
Se actualizó la descripción del recurso
activity
para reflejar el hecho de que, por el momento, el métodoactivities.list
no incluye recursos relacionados con comentarios nuevos de videos. También se actualizaron lossnippet.type
ycontentDetails.comment
del recurso.
-
-
Errores nuevos y actualizados
-
La API ahora admite los siguientes errores:
Detalles del error activities.insert
Código de respuesta HTTP badRequest (400)
Motivo invalidMetadata
Descripción La propiedad kind
no coincide con el tipo de ID proporcionado.commentThreads.update
comments.insert
comments.update
Código de respuesta HTTP badRequest (400)
Motivo commentTextTooLong
Descripción El recurso comment
que se está insertando o actualizando contiene demasiados caracteres en la propiedadsnippet.topLevelComment.snippet.textOriginal
.playlistItems.insert
playlistItems.update
Código de respuesta HTTP forbidden (403)
Motivo playlistItemsNotAccessible
Descripción La solicitud no está debidamente autorizada para insertar, actualizar o eliminar el elemento especificado de la playlist. playlists.delete
playlists.insert
playlists.update
Código de respuesta HTTP badRequest (400)
Motivo playlistForbidden
Descripción Esta operación está prohibida o la solicitud no está autorizada correctamente. search.list
Código de respuesta HTTP badRequest (400)
Motivo invalidLocation
Descripción El valor del parámetro location
olocationRadius
tenía un formato incorrecto.search.list
Código de respuesta HTTP badRequest (400)
Motivo invalidRelevanceLanguage
Descripción El valor del parámetro relevanceLanguage
tiene un formato incorrecto.subscriptions.insert
Código de respuesta HTTP badRequest (400)
Motivo subscriptionForbidden
Descripción Este error ocurre cuando se cumple alguna de las siguientes condiciones: - La suscripción que intentas crear ya existe
- Alcanzaste la cantidad máxima de suscripciones
- Estás intentando suscribirte a tu propio canal, lo cual no se admite.
- Creaste demasiadas suscripciones recientemente y debes esperar unas horas antes de reintentar la solicitud.
videos.update
Código de respuesta HTTP badRequest (400)
Motivo invalidDefaultBroadcastPrivacySetting
Descripción La solicitud intenta establecer una configuración de privacidad no válida para la transmisión predeterminada.
-
28 de agosto de 2015
Esta actualización incluye los siguientes cambios:
-
Actualizaciones de recursos y métodos existentes
-
La propiedad
statistics.favoriteCount
del recursovideo
dejó de estar disponible.De acuerdo con nuestra política de baja, esta propiedad seguirá incluida en los recursos de
video
durante al menos un año después de este anuncio. Sin embargo, el valor de la propiedad ahora está siempre establecido en0
.
-
7 de agosto de 2015
Esta actualización incluye los siguientes cambios:
-
Actualizaciones de los recursos y métodos existentes
-
Se actualizó la definición de la propiedad
snippet.tags[]
del recursovideo
para proporcionar más información sobre cómo el servidor de la API calcula la longitud del valor de la propiedad. Ten en cuenta que esta actualización no refleja un cambio en el comportamiento de la API.Específicamente, la definición ahora explica que, si una etiqueta contiene un espacio, el servidor de la API controla el valor de la etiqueta como si estuviera encerrado entre comillas, y las comillas se tienen en cuenta para el límite de caracteres. Por lo tanto, a efectos de establecer límites de caracteres, la etiqueta Foo-Baz contiene siete caracteres, pero la etiqueta Foo Baz contiene nueve.
-
El método
commentThreads.insert
ya no admite el parámetroshareOnGooglePlus
, que antes indicaba si un comentario y las respuestas a ese comentario también debían publicarse en el perfil de Google+ del autor. Si una solicitud envía el parámetro, el servidor de la API lo ignora, pero controla la solicitud.
-
18 de junio de 2015
Esta actualización incluye los siguientes cambios:
-
Actualizaciones de los recursos y métodos existentes
-
El nuevo parámetro
order
del métodocommentThreads.list
especifica el orden en el que la respuesta de la API debe enumerar las conversaciones de comentarios. Los subprocesos se pueden ordenar por tiempo o relevancia. El comportamiento predeterminado es ordenarlas por tiempo. -
La nueva propiedad
snippet.defaultAudioLanguage
del recursovideo
especifica el idioma que se habla en la pista de audio predeterminada del video. -
Se actualizó la definición de la propiedad
contentDetails.licensedContent
del recursovideo
para aclarar que el contenido se debe haber subido originalmente a un canal vinculado a un socio de contenido de YouTube y que este socio debe haberlo reclamado. Esto no representa un cambio en el comportamiento real de la API. -
Los métodos
captions.delete
,captions.download
,captions.insert
,captions.list
ycaptions.update
ahora admiten el parámetroonBehalfOfContentOwner
, que ya es compatible con muchos otros métodos. Las solicitudes que usan ese método también deben estar autorizadas con un token que proporcione acceso al alcancehttps://www.googleapis.com/auth/youtubepartner
.
-
-
Errores nuevos y actualizados
-
La API ahora admite los siguientes errores:
Detalles del error videos.rate
Código de respuesta HTTP badRequest (400)
Motivo emailNotVerified
Descripción La usuaria debe verificar su dirección de correo electrónico antes de calificar el video. videos.rate
Código de respuesta HTTP badRequest (400)
Motivo videoPurchaseRequired
Descripción Solo los usuarios que alquilaron los videos pueden calificarlos. -
Los métodos
subscriptions.delete
ysubscriptions.insert
ya no admiten los erroresaccountClosed
yaccountSuspended
.
-
27 de abril de 2015
Esta actualización incluye los siguientes cambios:
-
Recursos y métodos nuevos
-
El nuevo recurso
videoAbuseReportReason
contiene información sobre un motivo por el que se marcaría un video por incluir contenido abusivo. El métodovideoAbuseReportReasons.list
te permite recuperar una lista de todos los motivos por los que podrían marcarse videos. -
El nuevo método
videos.reportAbuse
proporciona una forma de marcar un video que contiene contenido abusivo. El cuerpo de la solicitud contiene un objeto JSON que especifica el video que se marca, así como el motivo por el que se considera que el video incluye contenido abusivo. Los motivos válidos se pueden obtener del métodovideoAbuseReportReason.list
descrito anteriormente.La guía de migración también se actualizó con un ejemplo para denunciar un video abusivo. Con este cambio, la API de v3 ahora admite todas las funciones de la API de v2 que está programada para admitir. Todas estas funciones también se explican en la guía de migración.
-
-
Actualizaciones de los recursos y métodos existentes
-
El nuevo parámetro de filtro
forDeveloper
del métodosearch.list
restringe una búsqueda para que solo recupere videos subidos a través de la aplicación o el sitio web del desarrollador. El parámetroforDeveloper
se puede usar junto con parámetros de búsqueda opcionales, como el parámetroq
.En el caso de esta función, cada video que se sube se etiqueta automáticamente con el número de proyecto asociado a la aplicación del desarrollador en Google Developers Console.
Cuando una solicitud de búsqueda establece posteriormente el parámetro
forDeveloper
entrue
, el servidor de la API usa las credenciales de autorización de la solicitud para identificar al desarrollador. Por lo tanto, un desarrollador puede restringir los resultados a los videos subidos mediante su app o sitio web, pero no a videos subidos mediante otras apps o sitios.La nueva función ofrece una funcionalidad similar, aunque no idéntica, a la de las etiquetas para desarrolladores que admitía la API de v2.
-
La nueva propiedad
snippet.country
del recursochannel
permite que los propietarios de canales asocien sus canales con un país en particular.Nota: Para configurar la propiedad
snippet.country
de un recursochannel
, debes actualizar la propiedadbrandingSettings.channel.country
. -
La API ahora admite la segmentación para recursos
channelSection
. La segmentación de secciones del canal ofrece una forma de restringir la visibilidad de una sección de contenido a los usuarios que cumplan con criterios específicos.La API expone tres opciones de segmentación. Para que una sección de un canal sea visible, el usuario debe cumplir con todos los parámetros de configuración de segmentación.
-
targeting.languages[]
: Es una lista de los idiomas de la aplicación de YouTube. Los usuarios que hayan elegido uno de esos idiomas podrán ver la sección del canal correspondiente. -
targeting.regions[]
: Es una lista de las regiones de contenido preferidas de YouTube. La sección del canal es visible para los usuarios que hayan seleccionado una de esas regiones, así como los usuarios para los que una de esas regiones se selecciona automáticamente. -
targeting.countries[]
: Es una lista de países en los que se puede ver la sección del canal. Cada valor de la lista es un código de país ISO 3166-1 alpha-2.
-
-
Se corrigió la definición de la propiedad
contentDetails.duration
del recursovideo
para reflejar que el valor puede reflejar horas, días, etcétera. -
Se corrigió la documentación de los métodos
channelSections.delete
,playlistItems.delete
,playlists.delete
,subscriptions.delete
yvideos.delete
para reflejar que, cuando se realizan correctamente, todos esos métodos muestran un código de respuesta HTTP204
(No Content
).
-
-
Errores nuevos y actualizados
-
La API ahora admite los siguientes errores:
Tipo de error Detalle del error Descripción badRequest (400)
targetInvalidCountry
Los métodos channelSections.insert
ychannelSections.update
muestran este error si el recursochannelSection
insertado contenía un valor no válido para la propiedadtargeting.countries[]
.badRequest (400)
targetInvalidLanguage
Los métodos channelSections.insert
ychannelSections.update
muestran este error si el recursochannelSection
insertado contenía un valor no válido para la propiedadtargeting.languages[]
.badRequest (400)
targetInvalidRegion
Los métodos channelSections.insert
ychannelSections.update
muestran este error si el recursochannelSection
insertado contenía un valor no válido para la propiedadtargeting.regions[]
.badRequest (400)
operationNotSupported
El método comments.insert
muestra este error si el usuario de la API no puede insertar un comentario en respuesta al comentario de nivel superior que identifica la propiedadsnippet.parentId
. En un recursocommentThread
, la propiedadsnippet.canReply
indica si el usuario actual puede responder a la conversación.badRequest (400)
invalidChannelId
El método search.list
muestra este error si el parámetrochannelId
de la solicitud especificó un ID de canal no válido.badRequest (400)
subscriptionForbidden
El método subscriptions.insert
muestra este error si el usuario de la API intenta suscribirse a su propio canal. -
El método
captions.update
ya no admite los erroresinvalidMetadata
yvideoNotFound
.
-
16 de abril de 2015
Esta actualización incluye los siguientes cambios:
-
Se actualizó la guía de migración para explicar cómo migrar aplicaciones que aún usan la funcionalidad de comentarios de la API de v2.
La guía también menciona varias funciones de comentarios que no eran compatibles con la API de v2, pero que sí lo son con la API de v3. Por ejemplo:
- Cómo recuperar comentarios sobre un canal
- Recuperar todas las conversaciones de comentarios relacionadas con un canal, lo que significa que la respuesta de la API puede contener comentarios sobre el canal o cualquiera de sus videos
- Cómo actualizar el texto de un comentario
- Marcar un comentario como spam
- Configurar el estado de moderación de un comentario
-
Se actualizó la guía Cómo suscribirse a notificaciones push para reflejar que las notificaciones solo se envían al centro PubSubHubBub de Google y no al centro de Superfeedr, como se indicaba anteriormente.
9 de abril de 2015
Esta actualización incluye los siguientes cambios:
-
Los nuevos recursos
commentThread
ycomment
de la API te permiten recuperar, insertar, actualizar, borrar y moderar comentarios.-
Un recurso
commentThread
contiene información sobre una conversación de comentarios de YouTube, que incluye un comentario de nivel superior y las respuestas a ese comentario, si las hay. Un recursocommentThread
puede representar comentarios sobre un video o un canal.El comentario de nivel superior y las respuestas son, en realidad, recursos
comment
anidados dentro del recursocommentThread
. Es importante tener en cuenta que el recursocommentThread
no contiene necesariamente todas las respuestas a un comentario, y debes usar el métodocomments.list
si quieres recuperar todas las respuestas de un comentario en particular. Además, algunos comentarios no tienen respuestas.La API admite los siguientes métodos para los recursos
commentThread
:commentThreads.list
: Recupera una lista de conversaciones. Utiliza este método para recuperar los comentarios asociados con un video o canal en particular.commentThreads.insert
: Crea un nuevo comentario de nivel superior. (usa el métodocomments.insert
para responder un comentario existente).commentThreads.update
: Modifica un comentario de nivel superior.
-
Un recurso
comment
contiene información sobre un solo comentario de YouTube. Un recursocomment
puede representar un comentario sobre un video o un canal. Además, el comentario puede ser de nivel superior o una respuesta a un comentario de nivel superior.La API admite los siguientes métodos para los recursos
comment
:comments.list
: Recupera una lista de comentarios. Usa este método para recuperar todas las respuestas a un comentario en particular.comments.insert
: crea una respuesta a un comentario existente.comments.update
: modificar un comentario.comments.markAsSpam
: Marca uno o más comentarios como spam.comments.setModerationStatus
: Establece el estado de moderación de uno o más comentarios. Por ejemplo, borra un comentario para que sea visible públicamente o rechaza un comentario como no apto para mostrarse. El propietario del canal o el video asociado con los comentarios debe autorizar la solicitud a la API.comments.delete
: eliminar un comentario.
Ten en cuenta que el nuevo alcance
https://www.googleapis.com/auth/youtube.force-ssl
de la API, que se describe en el historial de revisiones del 2 de abril de 2015, es obligatorio para las llamadas a los métodoscomments.insert
,comments.update
,comments.markAsSpam
,comments.setModerationStatus
,comments.delete
,commentThreads.insert
ycommentThreads.update
. -
-
En la nueva guía Cómo suscribirse a notificaciones push, se explica la nueva compatibilidad de la API con las notificaciones push a través de PubSubHubBub, un protocolo de publicación y suscripción de servidor a servidor para recursos accesibles a través de la Web. Tu servidor de devolución de llamada de PubSubHubBub puede recibir notificaciones de feed de Atom cuando un canal realiza cualquiera de las siguientes actividades:
- sube un video
- actualiza el título de un video
- actualiza la descripción de un video
-
La guía de migración también se actualizó para indicar la nueva compatibilidad con las notificaciones push. Sin embargo, dado que la API v2 admite muchos otros tipos de notificaciones push que no son compatibles con la API v3, la mención de la compatibilidad con PubSubHubBub aún aparece en la sección Obsoleto de esa guía.
-
El nuevo alcance
https://www.googleapis.com/auth/youtube.force-ssl
de la API ahora es un alcance válido para cualquier método de API que antes admitía el alcancehttps://www.googleapis.com/auth/youtube
. -
La API ahora admite los siguientes errores:
Tipo de error Detalle del error Descripción badRequest (400)
invalidRating
El método videos.rate
muestra este error si la solicitud contenía un valor inesperado para el parámetrorating
. -
El método
subscriptions.insert
ya no admite el errorsubscriptionLimitExceeded
, que antes indicaba que el suscriptor identificado con la solicitud había excedido el límite de la tarifa de suscripción.
2 de abril de 2015
Esta actualización incluye los siguientes cambios:
-
El nuevo recurso
captions
representa una pista de subtítulos de YouTube. Una pista de subtítulos se asocia con exactamente un video de YouTube.La API admite métodos para enumerar, insertar, actualizar, descargar y borrar pistas de subtítulos.
-
La guía de migración también se actualizó para explicar cómo migrar aplicaciones que aún usan la función de subtítulos en la API v2.
-
El nuevo alcance
https://www.googleapis.com/auth/youtube.force-ssl
de la API requiere que la comunicación con el servidor de la API se realice a través de una conexión SSL.Este nuevo permiso otorga el mismo acceso que el permiso
https://www.googleapis.com/auth/youtube
. De hecho, esos dos alcances son funcionalmente idénticos porque el servidor de la API de YouTube solo está disponible a través de un extremo HTTPS. Como resultado, aunque el alcance dehttps://www.googleapis.com/auth/youtube
no requiere una conexión SSL, en realidad no hay otra forma de realizar una solicitud a la API.El nuevo alcance es obligatorio para las llamadas a todos los métodos del recurso
caption
.
11 de marzo de 2015
Esta actualización incluye los siguientes cambios:
-
La guía de migración de la API de YouTube Data (v3) contiene una nueva pestaña, llamada Novedades de la API de v3, que enumera las funciones que admite la API de v3 y que no admitía la API de v2. Las mismas funciones se encontraban anteriormente y aún se incluyen en otras pestañas de la guía. Por ejemplo, la nueva función que explica cómo actualizar los datos de las campañas promocionales en los videos de un canal también se incluye en la pestaña Canales (perfiles).
-
Se actualizó la guía de migración de la API de YouTube Data (v3) para indicar que la API de v3 admitirá la siguiente función de la API de v2:
-
Se actualizó la guía de migración de la API de YouTube Data (v3) para indicar que las siguientes funciones de la API de v2 no serán compatibles con la API de v3:
-
Obtén recomendaciones de videos: La API de v3 no recupera una lista que solo contenga videos recomendados para el usuario actual de la API. Sin embargo, puedes usar la API v3 para encontrar videos recomendados llamando al método
activities.list
y configurando el valor del parámetrohome
entrue
.En la respuesta de la API, un recurso corresponde a un video recomendado si el valor de la propiedad
snippet.type
esrecommendation
. En ese caso, las propiedadescontentDetails.recommendation.reason
ycontentDetails.recommendation.seedResourceId
contendrán información sobre por qué se recomendó el video. Ten en cuenta que no podemos garantizar que la respuesta contenga una cantidad específica de videos recomendados. -
Recuperar nuevos videos de suscripción: la API v3 no recupera una lista que solo contiene los videos que se subieron recientemente a los canales a los que el usuario de la API está suscrito. Sin embargo, puedes usar la API v3 para buscar nuevos videos de suscripción llamando al método
activities.list
y configurando el valor del parámetrohome
entrue
.En la respuesta de la API, un recurso corresponde a un video de suscripción nuevo si el valor de la propiedad
snippet.type
esupload
. Ten en cuenta que no hay garantía de que la respuesta contenga un número particular de nuevos videos de suscripción. -
Notificaciones push para actualizaciones de feeds: La API de la versión 2 admitía notificaciones push con el Protocolo de actualización simple (SUP) o PubSubHubbub para supervisar los feeds de actividad de los usuarios de YouTube. Se proporcionaron notificaciones para las nuevas suscripciones a canales y para cuándo se calificaron, compartieron, marcaron como favoritos, hicieron comentarios o subieron los videos.
La API de la versión 3 admitirá notificaciones push con el protocolo PubSubHubbub, pero las notificaciones solo abarcarán las cargas de video y las actualizaciones de los títulos o las descripciones de los videos.
-
Ubicación del canal: La API de la versión 2 usaba la etiqueta
<yt:location>
para identificar la ubicación del usuario tal como se ingresaba en el perfil público de YouTube del canal. Si bien algunos desarrolladores usaban este campo para asociar un canal con un país en particular, los datos del campo no se pudieron usar de forma coherente para ese propósito. -
Configurar o recuperar etiquetas del desarrollador: La API v2 admitía la capacidad de asociar palabras clave (o etiquetas de desarrollador) con un video en el momento en que este se subió. Las etiquetas del programador no se muestran a los usuarios de YouTube, pero los propietarios de los videos pueden recuperar los videos que coincidan con una etiqueta del desarrollador específica.
La API de v3 proporcionará una función similar, pero no idéntica. Específicamente, un desarrollador podrá buscar videos subidos por su propia aplicación. En el caso de esta función, cada video que se sube se etiqueta automáticamente con el número de proyecto asociado a la aplicación del desarrollador en Google Developers Console. El desarrollador usa el mismo número de proyecto para buscar videos.
-
Enumerar videos por fecha de publicación, recuento de vistas o calificación: En la API v2, el parámetro
orderby
te permite ordenar los videos de una playlist por posición, duración, fecha de publicación, título y muchos otros valores. En la API v3, los elementos de la lista de reproducción generalmente se ordenan por posición, en orden ascendente y no hay otras opciones de orden disponibles.Existen algunas excepciones. Una carga nueva, un video favorito, un video que te gustó o uno que miraste recientemente se agrega automáticamente como primer elemento (
snippet.position
=0
) en los siguientes tipos de playlists. Por lo tanto, cada una de estas listas se ordena de manera eficaz de la más reciente a la más antigua según las veces que se agregaron los elementos a la lista.- cargas de usuarios
- videos favoritos
- videos con Me gusta
- historial de reproducciones
Sin embargo, ten en cuenta que un elemento nuevo que se agrega a la playlist “Mirar más tarde” se agrega como el último elemento de esa lista, por lo que la lista se ordena de forma eficaz del elemento más antiguo al más reciente.
-
Procesamiento por lotes: La API v3 admite uno de los casos de uso de procesamiento por lotes que admitía la API v2. Los métodos
channels.list
,channelSections.list
,guideCategories.list
,playlistItems.list
,playlists.list
,subscriptions.list
,videoCategories.list
yvideos.list
de la API de la versión 3 admiten un parámetroid
, que se puede usar para especificar una lista de IDs delimitada por comas (IDs de video, IDs de canal, etc.). Con estos métodos, puedes recuperar una lista de varios recursos con una sola solicitud.
Con estos cambios, la guía ahora identifica todas las funcionalidades admitidas en la API anterior (v2) que quedarán obsoletas en la versión actual de la API (v3).
-
4 de marzo de 2015
Esta actualización incluye los siguientes cambios:
-
Los métodos
channelSections.delete
ychannelSections.update
ahora admiten el parámetroonBehalfOfContentOwner
, que ya es compatible con varios otros métodos. -
Las siguientes propiedades y sus propiedades secundarias dejaron de estar disponibles:
brandingSettings.image.backgroundImageUrl
brandingSettings.image.largeBrandedBannerImageImapScript
brandingSettings.image.largeBrandedBannerImageUrl
brandingSettings.image.smallBrandedBannerImageImapScript
brandingSettings.image.smallBrandedBannerImageUrl
Nota: Ninguna de estas propiedades estaba sujeta a la Política de Baja de la API.
-
La nueva propiedad
contentDetails.contentRating.contentDetails.contentRating.djctqRatingReasons
del recursovideo
identifica los motivos por los que el video recibió su calificación de DJCQT (Brasil). -
La API ahora admite los siguientes errores:
Tipo de error Detalle del error Descripción notFound (404)
channelNotFound
El método channels.update
muestra este error si el parámetroid
de la solicitud especifica un canal que no se puede encontrar.badRequest (400)
manualSortRequiredinvalidValue
Los métodos playlistItems.insert
yplaylistItems.update
muestran este error si la solicitud intenta establecer la posición del elemento de la playlist, pero la playlist no usa el orden manual. Por ejemplo, los elementos de una playlist pueden ordenarse por fecha o popularidad. Para corregir este error, quita el elementosnippet.position
del recurso que se envió en el cuerpo de la solicitud. Si quieres que el elemento de la playlist tenga una posición específica en la lista, primero tendrás que actualizar la configuración de orden de la playlist a Manual. Puedes ajustar este parámetro en el Administrador de videos de YouTube.forbidden (403)
channelClosed
El método playlists.list
muestra este error si el parámetrochannelId
de la solicitud especifica un canal que se cerró.forbidden (403)
channelSuspended
El método playlists.list
muestra este error si el parámetrochannelId
de la solicitud especifica un canal que se suspendió.forbidden (403)
playlistForbidden
El método playlists.list
muestra este error si el parámetroid
de la solicitud no la admite o si esta no está autorizada correctamente.notFound (404)
channelNotFound
El método playlists.list
muestra este error si el parámetrochannelId
de la solicitud especifica un canal que no se puede encontrar.notFound (404)
playlistNotFound
El método playlists.list
muestra este error si el parámetroid
de la solicitud especifica una playlist que no se puede encontrar.notFound (404)
videoNotFound
El método videos.list
muestra este error si el parámetroid
de la solicitud especifica un video que no se puede encontrar.badRequest (400)
invalidRating
El método videos.rate
muestra este error si la solicitud contiene un valor inesperado para el parámetrorating
.
2 de marzo de 2015
Esta actualización incluye los siguientes cambios:
-
El método
search.list
ahora admite el parámetrorelevanceLanguage
, que te permite solicitar los resultados más relevantes para un idioma en particular.También se actualizó la guía de migración de la API de YouTube Data (versión 3) para explicar cómo usar este nuevo parámetro. El parámetro soluciona una brecha de funciones que existía anteriormente entre la versión actual de la API (v3) y la versión anterior (v2), que ya dejó de estar disponible.
-
También actualizamos la guía de migración de la API de datos de YouTube (v3) para indicar la baja de los feeds especiales y campos de metadatos que la API v2 proporcionaba para describir películas, avances, programas de televisión, temporadas de televisión y episodios de televisión.
14 de enero de 2015
Esta actualización incluye los siguientes cambios:
-
Se actualizó la guía de migración de la API de datos de YouTube (v3) para explicar cómo usar la API de v3 para subir videos con JavaScript. Consulta la sección Subir un video para obtener más información. Esta funcionalidad es comparable con la funcionalidad de carga basada en el navegador que admite la API v2. Ten en cuenta que este cambio en la guía de migración no refleja un cambio real en la API, sino la disponibilidad de un nuevo código de muestra para subir videos con JavaScript del cliente.
Dada la compatibilidad para subir videos con la biblioteca cliente de JavaScript y CORS, la guía de migración ya no enumera la carga basada en el navegador como una función que puede dejar de estar disponible en la API v3.
-
Se actualizó la documentación del método
videos.insert
para incluir la nueva muestra de código de JavaScript que se describió anteriormente. También actualizamos la lista de muestras de código JavaScript para la API de datos de YouTube (v3).
11 de noviembre de 2014
Esta actualización incluye los siguientes cambios:
-
El costo de la cuota para una llamada al método
search.list
cambió a 100 unidades.Importante: En muchos casos, puedes usar otros métodos de la API para recuperar información a un costo de cuota más bajo. Por ejemplo, considera estas dos formas de encontrar los videos que se subieron al canal GoogleDevelopers.
-
Costo de la cuota: 100 unidades
Llama al método
search.list
y buscaGoogleDevelopers
. -
Costo de la cuota: 6 unidades
Llama al método
channels.list
para encontrar el ID del canal correcto. Establece el parámetroforUsername
enGoogleDevelopers
y el parámetropart
encontentDetails
. En la respuesta de la API, la propiedadcontentDetails.relatedPlaylists.uploads
especifica el ID de la playlist de los videos subidos del canal.Luego, llama al método
playlistItems.list
y establece el parámetroplaylistId
en el ID capturado y el parámetropart
ensnippet
.
-
8 de octubre de 2014
Esta actualización incluye los siguientes cambios:
-
El recurso
channel
contiene dos propiedades nuevas:-
La propiedad
status.longUploadsStatus
indica si el canal es apto para subir videos que duran más de 15 minutos. Esta propiedad solo se muestra si el propietario del canal autorizó la solicitud a la API. Los valores de propiedad válidos son los siguientes:allowed
: el canal puede subir videos de más de 15 minutos de duración.eligible
: el canal es apto para subir videos de más de 15 minutos de duración, pero primero debe habilitar la función.disallowed
: El canal no puede subir videos de más de 15 minutos o no es apto para hacerlo.
Consulta la definición de propiedad para obtener más información sobre estos valores. El Centro de ayuda de YouTube también proporciona información más detallada sobre esta función.
-
La propiedad
invideoPromotion.useSmartTiming
indica si la campaña promocional del canal utiliza "tiempo inteligente". Esta función intenta mostrar las promociones en un momento del video en el que es más probable que los usuarios hagan clic en ellas y que interrumpan la experiencia de visualización. Esta función también selecciona una sola promoción para mostrar en cada video.
-
-
Se actualizaron las definiciones de las propiedades
snippet.title
ysnippet.categoryId
del recursovideo
para aclarar la forma en que la API controla las llamadas al métodovideos.update
. Si llamas a ese método para actualizar la partesnippet
de un recursovideo
, debes establecer un valor para ambas propiedades.Si intentas actualizar la parte
snippet
de un recursovideo
y no estableces un valor para ambas propiedades, la API mostrará un errorinvalidRequest
. También se actualizó la descripción de ese error. -
La propiedad
contentDetails.contentRating.oflcRating
del recursovideo
, que identifica la clasificación de un video de la Oficina de Clasificación de Cine y Literatura de Nueva Zelanda, ahora admite dos clasificaciones nuevas:oflcRp13
yoflcRp16
. Estas corresponden a las calificacionesRP13
yRP16
, respectivamente. -
El método
channelBanners.insert
ahora admite el siguiente error:Tipo de error Detalle del error Descripción badRequest
bannerAlbumFull
El álbum de diseño del canal de YouTube del propietario del canal tiene demasiadas imágenes. El propietario del canal debe ir a http://photos.google.com, navegar a la página de los álbumes y quitar algunas imágenes de ese álbum.
12 de septiembre de 2014
Esta actualización incluye los siguientes cambios:
-
El costo de la cuota de una llamada al método
search.list
cambió de 1 unidad a 2 unidades, además del costo de las partes de recursos especificadas.
13 de agosto de 2014
Esta actualización incluye los siguientes cambios:
-
El método
subscriptions.insert
ahora admite el siguiente error:Tipo de error Detalle del error Descripción badRequest
subscriptionLimitExceeded
El suscriptor identificado con la solicitud superó el límite de frecuencia de suscripción. Puedes intentar agregar más suscripciones en unas horas.
12 de agosto de 2014
Esta actualización incluye los siguientes cambios:
-
En una nueva guía titulada Cómo migrar tu aplicación a la API de datos de YouTube (v3), se explica cómo usar la API de datos de YouTube (v3) para realizar las funciones disponibles en la API de datos de YouTube (v2). La API anterior dejó de estar disponible de manera oficial el 4 de marzo de 2014. El objetivo de esta guía es ayudarte a migrar las aplicaciones que aún usan la API v2 a la versión más reciente de la API.
8 de julio de 2014
Esta actualización incluye los siguientes cambios:
-
El método
playlists.insert
ahora admite el siguiente error:Tipo de error Detalle del error Descripción badRequest
maxPlaylistExceeded
Este error ocurre si no se puede crear una playlist porque el canal ya alcanzó el número máximo de playlists permitidas.
18 de junio de 2014
Esta actualización incluye los siguientes cambios:
-
Se actualizó la descripción de cada método de la API para incluir el costo de cuota que genera una llamada a ese método. De manera similar, las definiciones de los parámetros
part
se actualizaron para especificar el costo de cuota de cada parte que se puede recuperar en una llamada a la API. Por ejemplo, una llamada al métodosubscriptions.insert
tiene un costo de cuota de aproximadamente 50 unidades. El recursosubscription
también contiene tres partes (snippet
,contentDetails
ysubscriberSnippet
), y cada una de ellas tiene un costo de dos unidades.Recuerda que los costos de cuota pueden cambiar sin previo aviso.
-
El recurso
video
ahora admite 43 nuevos sistemas de clasificación de contenido, que identifican las clasificaciones que los videos recibieron de varias agencias nacionales de clasificación. Los nuevos sistemas de clasificación admitidos son los de Argentina, Austria, Bélgica, Bulgaria, Chile (televisión), Chile (películas), República Checa, Colombia, Dinamarca, Egipto, Estonia, Finlandia, Francia, Grecia, Hong Kong, Islandia, Indonesia, Irlanda, Israel, Italia, Kenia, Letonia, Luxemburgo, Malasia, Maldivas, Malta, Países Bajos, Nigeria, Noruega, Perú, Filipinas, Portugal, Rumanía, Singapur, Eslovaquia, Sudáfrica, Suecia, Suiza, Taiwán, Tailandia y Venezuela.
28 de mayo de 2014
Esta actualización incluye los siguientes cambios:
-
El método
search.list
ahora admite los parámetroslocation
ylocationRadius
, que te permiten buscar videos asociados con una ubicación geográfica. Una solicitud debe especificar un valor para ambos parámetros a fin de recuperar resultados según la ubicación. La API mostrará un error si la solicitud incluye solo uno de los dos parámetros.-
El parámetro
location
especifica las coordenadas de latitud y longitud en el centro del área geográfica circular. -
El parámetro
locationRadius
especifica la distancia máxima que puede tener la ubicación asociada con un video desde el centro del área para que el video aún se incluya en los resultados de la búsqueda.
-
13 de mayo de 2014
Esta actualización incluye los siguientes cambios:
-
Se actualizó la propiedad
invideoPromotion.items[]
del recursochannel
para indicar que, por lo general, solo puedes configurar un elemento promocionado para tu canal. Si intentas insertar demasiados elementos promocionados, la API mostrará un errortooManyPromotedItems
, que tiene un código de estado HTTP400
. -
El recurso
channelSection
ahora puede contener información sobre algunos tipos nuevos de contenido destacado. La propiedadsnippet.type
del recursochannelSection
ahora admite los siguientes valores:postedPlaylists
: playlists que publicó el propietario del canal en el feed de actividad del canalpostedVideos
: videos que publicó el propietario del canal en el feed de actividad del canalsubscriptions
: Son los canales a los que se suscribió el propietario del canal.
-
La nueva propiedad
contentDetails.contentRating.ifcoRating
del recursovideo
identifica la clasificación que recibió un video de la Oficina de Clasificación de Películas de Irlanda. -
Se actualizó la definición de la propiedad
position.cornerPosition
del recursowatermark
para indicar que la marca de agua siempre aparece en la esquina superior derecha del reproductor. -
Se actualizó la definición del parámetro
q
para el métodosearch.list
para indicar que el término de búsqueda puede usar el operador booleano NOT (-
) para excluir videos asociados con un término de búsqueda en particular. El valor también puede usar el operador booleano O (|
) para encontrar videos asociados con uno de varios términos de búsqueda. -
Se actualizó la definición de la propiedad
pageInfo.totalResults
que se muestra en una respuesta de la API a una llamadasearch.list
para indicar que el valor es una aproximación y puede que no represente un valor exacto. Además, el valor máximo es 1,000,000. No debes usar este valor para crear vínculos de paginación. En su lugar, usa los valores de propiedadnextPageToken
yprevPageToken
para determinar si se muestran los vínculos de paginación. -
Se actualizaron los métodos
watermarks.set
ywatermarks.unset
para reflejar que la API muestra un código de respuesta HTTP204
para las solicitudes exitosas a esos métodos.
2 de mayo de 2014
Esta actualización incluye los siguientes cambios:
-
El nuevo recurso
i18nLanguage
identifica un lenguaje de aplicación compatible con el sitio web de YouTube. El idioma de la aplicación también se puede denominar idioma de la IU. Para el sitio web de YouTube, el idioma de una aplicación se podría seleccionar automáticamente en función de la configuración de la cuenta de Google, el idioma del navegador o la ubicación de IP, y el usuario también podría seleccionar manualmente el idioma de la interfaz de usuario deseado en el pie de página del sitio de YouTube.La API admite un método para enumerar los idiomas de la aplicación admitidos. Los idiomas admitidos se pueden usar como el valor del parámetro
hl
cuando se llama a métodos de API comovideoCategories.list
yguideCategories.list
. -
El nuevo recurso
i18nRegion
identifica un área geográfica que un usuario de YouTube puede seleccionar como la región de contenido preferida. La región del contenido también se puede denominar configuración regional del contenido. En el caso del sitio web de YouTube, se podría seleccionar automáticamente una región de contenido en función de heurísticas, como el dominio de YouTube o la ubicación de IP del usuario. Además, el usuario también podría seleccionar manualmente la región de contenido deseada desde el pie de página del sitio de YouTube.La API admite un método para enumerar las regiones de contenido admitidas. Los códigos regionales admitidos se pueden usar como el valor del parámetro
regionCode
cuando se llama a métodos de la API, comosearch.list
,videos.list
,activities.list
yvideoCategories.list
.
7 de abril de 2014
Esta actualización incluye los siguientes cambios:
-
El nuevo recurso
channelSection
contiene información sobre un conjunto de videos que un canal decidió destacar. Por ejemplo, una sección podría mostrar las cargas más recientes o más populares de un canal, o bien videos de una o más playlists.La API admite métodos para enumerar, insertar, actualizar o borrar secciones de un canal. Para recuperar una lista de secciones del canal del usuario autenticado, especifica un ID de canal en particular o una lista de IDs de secciones de canal únicas.
La documentación sobre errores también se actualizó para describir los mensajes de error que la API admite específicamente para estos nuevos métodos.
-
Se actualizó la definición del objeto
fileDetails
del recursovideo
para explicar que ese objeto solo se mostrará si la propiedadprocessingDetails.fileDetailsAvailability
del video tiene un valor deavailable
.De manera similar, se actualizó la definición del objeto
suggestions
del recursovideo
para explicar que ese objeto solo se mostrará si la propiedadprocessingDetails.tagSuggestionsAvailability
del video o su propiedadprocessingDetails.editorSuggestionsAvailability
tienen un valor deavailable
. -
Se actualizó la documentación de los métodos
videos.insert
yvideos.update
para reflejar que se puede establecer la propiedadstatus.publishAt
cuando se llama a esos métodos. -
Se actualizó la definición del objeto
invideoPromotion
del recursochannel
para explicar que solo el propietario del canal puede recuperarlo. -
Se actualizó la lista de parámetros del método
videos.rate
para reflejar que ese método en realidad no admite el parámetroonBehalfOfContentOwner
. Este fue un error de documentación, ya que las solicitudes devideos.rate
que establecen este parámetro muestran un error500
.
31 de marzo de 2014
Esta actualización incluye los siguientes cambios:
-
La nueva propiedad
status.publishAt
del recursovideo
te permite especificar la fecha y hora en que se programó la publicación de un video privado. Esta propiedad solo se puede establecer si el estado de privacidad del video esprivate
y si el video nunca se publicó. Esta nueva propiedad no está sujeta a la política de baja.
13 de marzo de 2014
Esta actualización incluye los siguientes cambios:
-
La API ahora admite la parte
contentOwnerDetails
para los recursoschannel
. La nueva sección contiene datos del canal que son relevantes para los socios de YouTube vinculados al canal, incluidos el ID del propietario del contenido vinculado al canal y la fecha y hora en que el propietario de contenido y el canal se vincularon. Ten en cuenta que esta nueva pieza no está sujeta a la política de baja. -
En la documentación, ahora se indica la longitud de caracteres máxima que se admite para las siguientes propiedades:
Recurso Propiedad Duración máxima channel
invideoPromotion.items[].customMessage
40 caracteres video
snippet.title
100 caracteres video
snippet.description
5,000 bytes video
snippet.tags
500 caracteres. Ten en cuenta que el valor de la propiedad es una lista y que las comas entre los elementos de la lista se tienen en cuenta para el límite. -
La propiedad
brandingSettings.watch.featuredPlaylistId
del recursochannel
dejó de estar disponible. La API mostrará un error si intentas establecer su valor. -
Se agregaron las siguientes propiedades de recursos
video
a la lista de valores que se pueden establecer cuando se inserta o actualiza un video: -
La documentación sobre errores ahora especifica el código de respuesta HTTP para cada tipo de error.
-
La API ahora admite los siguientes errores:
Tipo de error Detalle del error Descripción badRequest (400)
invalidCriteria
El método channels.list
muestra este error si la solicitud especifica parámetros de filtro que no se pueden usar en conjunto.badRequest (400)
channelTitleUpdateForbidden
El método channels.update
muestra este error si intentas actualizar la partebrandingSettings
de un canal y cambiar el valor de la propiedadbrandingSettings.channel.title
. (Ten en cuenta que la API no muestra el error si omites la propiedad).badRequest (400)
invalidRecentlyUploadedBy
El método channels.update
muestra este error si la propiedadinvideoPromotion.items[].id.recentlyUploadedBy
especifica un ID de canal no válido.badRequest (400)
invalidTimingOffset
El método channels.update
muestra este error si la parteinvideoPromotion
especifica una compensación de tiempo no válida.badRequest (400)
tooManyPromotedItems
El método channels.update
muestra este error si la parteinvideoPromotion
especifica más de la cantidad permitida de elementos promocionados.forbidden (403)
promotedVideoNotAllowed
El método channels.update
muestra este error si la propiedadinvideoPromotion.items[].id.videoId
especifica un ID de video que no se puede encontrar o que no se puede usar como elemento promocionado.forbidden (403)
websiteLinkNotAllowed
El método channels.update
muestra este error si la propiedadinvideoPromotion.items[].id.websiteUrl
especifica una URL que no está permitida.required (400)
requiredTimingType
El método channels.update
muestra este error si una solicitud no especifica la configuración de tiempo predeterminada para que YouTube muestre un elemento promocionado.required (400)
requiredTiming
El método channels.update
debe especificar un objetoinvideoPromotion.items[].timing
para cada elemento promocionado.required (400)
requiredWebsiteUrl
El método channels.update
debe especificar una propiedadinvideoPromotion.items[].id.websiteUrl
para cada elemento promocionado.badRequest (400)
invalidPublishAt
El método videos.insert
muestra este error si los metadatos de la solicitud especifican una hora de publicación programada no válida.
4 de marzo de 2014
Esta actualización incluye los siguientes cambios:
-
La API de YouTube Data v3 ahora está sujeta a la Política de Baja que se describe en las Condiciones del Servicio de las APIs de YouTube. Ten en cuenta que la página que enumera las APIs que están sujetas a la política de baja excluye específicamente algunas funciones de la API de v3 de estar sujetas a la política.
5 de diciembre de 2013
Esta actualización incluye los siguientes cambios:
-
Se actualizó la documentación del método
search.list
para reflejar correctamente que no es necesario especificar un valor para exactamente un parámetro de filtro cuando se envía una solicitud de búsqueda. En su lugar, puedes establecer un valor para cero parámetros de filtro o para un parámetro de filtro. -
Las definiciones de los parámetros del método
search.list
se actualizaron para tener en cuenta que debes establecer el valor del parámetrotype
envideo
si también especificas un valor para cualquiera de los siguientes parámetros:eventType
videoCaption
videoCategoryId
videoDefinition
videoDimension
videoDuration
videoEmbeddable
videoLicense
videoSyndicated
videoType
-
Se redujo el tamaño mínimo de las imágenes de los banners de canales subidos a 2,048 px por 1,152 px. (Anteriormente, el tamaño mínimo era de 2120 px por 1192 px). Además, ten en cuenta que la documentación del recurso
channel
especifica los tamaños máximos de todas las imágenes de banner que se entregan desde la API. Por ejemplo, el tamaño máximo de la imagenbrandingSettings.image.bannerTvImageUrl
para aplicaciones de televisión es de 2,120 px por 1,192 px, pero la imagen real puede ser de 2,048 px por 1,152 px. En el Centro de ayuda de YouTube, encontrarás orientación adicional para optimizar el diseño del canal para que se muestre en diferentes tipos de dispositivos. -
Se actualizaron varias definiciones de propiedades del recurso
channel
para reflejar la siguiente información:- El valor de la propiedad
brandingSettings.channel.description
tiene una longitud máxima de 1,000 caracteres. - La propiedad
brandingSettings.channel.featuredChannelsTitle
tiene una longitud máxima de 30 caracteres. - La propiedad
brandingSettings.channel.featuredChannelsUrls[]
ahora puede incluir hasta 100 canales. - Si se establece el valor de la propiedad
brandingSettings.channel.unsubscribedTrailer
, se debe especificar el ID de video de YouTube de un video público o no listado que pertenece al propietario del canal.
- El valor de la propiedad
-
El método
channels.update
ahora admite actualizaciones de la propiedadinvideoPromotion.items[].promotedByContentOwner
. Esa propiedad indica si se mostrará el nombre del propietario del contenido cuando se muestre la promoción. Solo se puede establecer si la solicitud a la API que establece el valor de la propiedad se realiza en nombre del propietario del contenido con el parámetroonBehalfOfContentOwner
. -
Los métodos
playlistItems.list
yplaylistItems.insert
ahora admiten el parámetroonBehalfOfContentOwner
, que ya es compatible con varios otros métodos. -
Ahora la propiedad
contentDetails.contentRating.acbRating
puede especificar una clasificación de la Australian Classification Board (ACB) para las películas o de la Australian Communications and Media Authority (ACMA) para la programación de televisión infantil. -
Las nuevas propiedades
contentDetails.contentRating.catvRating
ycontentDetails.contentRating.catvfrRating
identifican las clasificaciones que recibió un video según el sistema de clasificación de TV de Canadá y el sistema de clasificación de Régie du cinéma en francés, que se usa en Quebec, respectivamente. -
La nueva propiedad
snippet.assignable
del recursovideoCategory
indica si los videos actualizados o los videos subidos recientemente se pueden asociar con esa categoría de video. -
Se agregaron muestras de código para los siguientes métodos:
activities.insert
(Go)channelBanners.insert
(Python)channels.update
(Python)playlistItems.list
(Ir)search.list
(Ir)thumbnails.set
(Java)videos.insert
(Ir)
24 de octubre de 2013
Esta actualización incluye los siguientes cambios:
-
La API incluye dos funciones adicionales diseñadas para ayudar a encontrar y presentar contenido de transmisiones en vivo:
La nueva propiedad
snippet.liveBroadcastContent
en los resultados de la búsqueda indica si un recurso de video o canal tiene contenido de transmisión en vivo. Los valores de propiedad válidos sonupcoming
,active
ynone
.-
La nueva propiedad
snippet.liveBroadcastContent
del recursovideo
indica si el video es una transmisión en vivo futura o activa. En la siguiente lista, se explican los valores posibles de la propiedad:upcoming
: el video es una transmisión en vivo que todavía no comenzó.active
: El video es una transmisión en vivo en curso.none
: El video no es una transmisión en vivo activa o próxima. Este será el valor de la propiedad de las transmisiones finalizadas que aún se pueden ver en YouTube.
-
La nueva propiedad
liveStreamingDetails
del recursovideo
es un objeto que contiene metadatos sobre una transmisión de video en vivo. Para recuperar estos metadatos, incluyeliveStreamingDetails
en la lista de partes de recursos del valor del parámetropart
. Los metadatos incluyen las siguientes propiedades nuevas:liveStreamingDetails.actualStartTime
: Es la hora en que realmente comenzó la transmisión. (Este valor estará presente una vez que el estado de la transmisión seaactive
).liveStreamingDetails.actualEndTime
: Es la hora en que finalizó la transmisión. (Este valor estará presente una vez que la transmisión haya finalizado).liveStreamingDetails.scheduledStartTime
: la hora a la que está programada el inicio de la transmisión.liveStreamingDetails.scheduledEndTime
: hora a la que terminará la transmisión programada. Si el valor de la propiedad está vacío o la propiedad no está presente, se programa la transmisión para continuar indefinidamente.liveStreamingDetails.concurrentViewers
: Es la cantidad de personas que miran la transmisión en vivo.
Para recuperar estos metadatos, incluye
liveStreamingDetails
en el valor del parámetropart
cuando llames al métodovideos.list
,videos.insert
ovideos.update
.
Ten en cuenta que el 1 de octubre de 2013 se lanzaron otras dos funciones para identificar contenido de transmisiones en vivo: el parámetro
eventType
del métodosearch.list
y la propiedadsnippet.liveBroadcastContent
del resultado de la búsqueda. -
-
El método
videos.insert
ahora admite el parámetronotifySubscribers
, que indica si YouTube debe enviar una notificación sobre el video nuevo a los usuarios que se suscriben al canal del video. El valor predeterminado del parámetro esTrue
, lo que indica que los suscriptores recibirán una notificación sobre los videos subidos recientemente. Sin embargo, el propietario de un canal que sube muchos videos podría establecer el valor enFalse
para evitar enviar una notificación sobre cada video nuevo a los suscriptores del canal. -
Se actualizó la lista de propiedades que se pueden modificar cuando se llama al método
channels.update
para incluir las propiedadesinvideoPromotion.items[].customMessage
yinvideoPromotion.items[].websiteUrl
. Además, se modificó la lista para identificar las propiedadesbrandingSettings
que se pueden modificar. Estas propiedadesbrandingSettings
ya se podían modificar, por lo que el cambio en la documentación no refleja un cambio en la funcionalidad existente de la API. -
Los métodos
playlists.insert
,playlists.update
yplaylists.delete
ahora admiten el parámetroonBehalfOfContentOwner
, que ya es compatible con varios otros métodos. -
El método
playlists.insert
ahora admite el parámetroonBehalfOfContentOwnerChannel
, que ya es compatible con muchos otros métodos. -
La propiedad
contentDetails.contentRating.tvpgRating
del recursovideo
ahora admite un valor depg14
, que corresponde a una calificaciónTV-14
. -
Se corrigió la definición de la propiedad
snippet.liveBroadcastContent
, que forma parte de los resultados de la búsqueda, para reflejar quelive
es un valor de propiedad válido, peroactive
no lo es. -
La propiedad
contentDetails.contentRating.mibacRating
del recursovideo
ahora admite dos calificaciones adicionales:mibacVap
(VAP): Los niños deben estar acompañados por un adulto.mibacVm6
(V.M.6): Restringido para mayores de 6 años.mibacVm12
(V.M.12): Restringido a mayores de 12 años.
-
La nueva propiedad
invideoPromotion.items[].promotedByContentOwner
del recursochannel
indica si se mostrará el nombre del propietario del contenido cuando se muestre la promoción. Este campo solo se puede establecer si la solicitud a la API que establece el valor se realiza en nombre del propietario del contenido. Consulta el parámetroonBehalfOfContentOwner
para obtener más información.
1 de octubre de 2013
Esta actualización incluye los siguientes cambios:
-
El nuevo objeto
auditDetails
del recursochannel
contiene datos del canal que una red multicanal (MCN) evaluaría a la hora de determinar si aceptar o rechazar un canal en particular. Ten en cuenta que cualquier solicitud a la API que recupere esta parte del recurso debe proporcionar un token de autorización que contenga el permisohttps://www.googleapis.com/auth/youtubepartner-channel-audit
. Además, cualquier token que use ese alcance debe revocarse cuando la MCN decida aceptar o rechazar el canal, o dentro de las dos semanas posteriores a la fecha en que se emitió el token. -
La propiedad
invideoPromotion.items[].id.type
del recursochannel
ahora admite un valor derecentUpload
, que indica que el elemento promocionado es el video subido más recientemente de un canal especificado.De forma predeterminada, el canal es el mismo para el que se configuran los datos de promoción en video. Sin embargo, puedes promocionar el video más reciente que se haya subido desde otro canal. Para ello, configura el valor de la nueva propiedad
invideoPromotion.items[].id.recentlyUploadedBy
con el ID de ese canal. -
El recurso
channel
contiene tres propiedades nuevas (brandingSettings.image.bannerTvLowImageUrl
,brandingSettings.image.bannerTvMediumImageUrl
ybrandingSettings.image.bannerTvHighImageUrl
) que especifican las URLs para las imágenes de banner que se muestran en los canales de usuario en aplicaciones de televisión. -
La nueva propiedad
snippet.liveBroadcastContent
en los resultados de la búsqueda indica si un recurso de video o canal tiene contenido de transmisión en vivo. Los valores de propiedad válidos sonupcoming
,active
ynone
.- En el caso de un recurso
video
, un valor deupcoming
indica que el video es una transmisión en vivo que aún no comenzó, mientras que un valor deactive
indica que el video es una transmisión en vivo en curso. - En el caso de un recurso
channel
, un valor deupcoming
indica que el canal tiene una transmisión programada que aún no comenzó, mientras que un valor deacive
indica que el canal tiene una transmisión en vivo en curso.
- En el caso de un recurso
-
En el recurso
watermark
, la propiedadtargetChannelId
cambió de un objeto a una cadena. En lugar de contener una propiedad secundaria que especifica el ID del canal de YouTube del canal al que está vinculada la imagen de marca de agua, la propiedadtargetChannelId
ahora especifica ese valor. Por lo tanto, se quitó la propiedadtargetChannelId.value
del recurso. -
El método
thumbnails.set
ahora admite el parámetroonBehalfOfContentOwner
, que ya es compatible con muchos otros métodos. -
El método
search.list
ahora admite el parámetroeventType
, que restringe una búsqueda para que solo muestre eventos de transmisión activos, próximos o completados. -
La nueva propiedad
contentDetails.contentRating.mibacRating
identifica la clasificación que recibió un video del Ministero dei Beni e delle Attivita Culturali e del Turismo de Italia. -
La API ahora admite los siguientes errores:
Tipo de error Detalle del error Descripción badRequest
invalidImage
El método thumbnails.set
muestra este error si el contenido de imagen proporcionado no es válido.forbidden
videoRatingDisabled
El método videos.rate
muestra este error si el propietario del video que se está calificando inhabilitó las calificaciones para ese video.
27 de agosto de 2013
Esta actualización incluye los siguientes cambios:
-
El nuevo recurso
watermark
identifica una imagen que se muestra durante la reproducción de los videos de un canal específico. También puedes especificar un canal de destino al que vinculará la imagen, así como información de sincronización que determina cuándo aparece la marca de agua en las reproducciones de video y el período de tiempo que será visible.El método
watermarks.set
sube y establece la imagen de marca de agua de un canal. El métodowatermarks.unset
borra la imagen de marca de agua de un canal.En la documentación de errores, se describen los mensajes de error que admite la API específicamente para los métodos
watermarks.set
ywatermarks.unset
. -
La nueva propiedad
statistics.hiddenSubscriberCount
del recursochannel
contiene un valor booleano que indica si el número de suscriptores del canal está oculto. Por lo tanto, el valor de la propiedad esfalse
si el recuento de suscriptores del canal es visible para el público. -
El método
playlists.list
ahora admite los parámetrosonBehalfOfContentOwner
yonBehalfOfContentOwnerChannel
. Ambos parámetros ya son compatibles con varios otros métodos. -
El método
videos.list
ahora admite el parámetroregionCode
, que identifica la región de contenido para la que se debe recuperar un gráfico. Este parámetro solo se puede usar junto con el parámetrochart
. El valor del parámetro es un código de país ISO 3166-1 alpha-2. -
error documentation
describe el siguiente error común de solicitud nuevo, que podría ocurrir en varios métodos de API:Tipo de error Detalle del error Descripción forbidden
insufficientPermissions
Los permisos asociados con el token de OAuth 2.0 proporcionado para la solicitud no son suficientes para acceder a los datos solicitados.
15 de agosto de 2013
Esta actualización incluye los siguientes cambios:
-
El objeto
invideoPromotion
del recursochannel
tiene las siguientes propiedades nuevas y actualizadas:-
La API ahora admite la capacidad de especificar un sitio web como un elemento promocionado. Para ello, establece el valor de la propiedad
invideoPromotion.items[].id.type
enwebsite
y usa la nueva propiedadinvideoPromotion.items[].id.websiteUrl
para especificar la URL. Además, usa la nueva propiedadinvideoPromotion.items[].customMessage
para definir el mensaje personalizado que se mostrará para la promoción.Los vínculos pueden ser sitios web relacionados, sitios comerciales o sitios de redes sociales. Consulta las instrucciones del Centro de ayuda de YouTube para los sitios web asociados y los sitios de comercios para obtener más información sobre cómo habilitar vínculos para tu contenido.
Si agregas vínculos promocionales, aceptas que no se usarán para redireccionar el tráfico a sitios no autorizados y que cumplirán con las políticas de AdWords, las políticas de anuncios de YouTube, los Lineamientos de la Comunidad de YouTube y las Condiciones del Servicio de YouTube.
-
Se reestructuraron las propiedades relacionadas con la configuración de sincronización para mostrar los elementos promocionados durante la reproducción de video:
-
Se movió el objeto
invideoPromotion.timing
ainvideoPromotion.items[].timing
. Este objeto ahora te permite personalizar los datos de tiempo de cada elemento promocionado en la listainvideoPromotion.items[]
. -
El nuevo objeto
invideoPromotion.defaultTiming
especifica la configuración de tiempo predeterminada para tu promoción. Esas opciones definen cuándo aparecerá un elemento promocionado durante la reproducción de uno de los videos de tu canal. Puedes anular la sincronización predeterminada de cualquier elemento promocionado a través del objetoinvideoPromotion.items[].timing
. -
La nueva propiedad
invideoPromotion.items[].timing.durationMs
especifica la cantidad de tiempo, en milisegundos, que debe mostrarse la promoción. El objetoinvideoPromotion.defaultTiming
también contiene un campodurationMs
que especifica la cantidad predeterminada de tiempo que se mostrará el elemento promocionado.
-
-
Las propiedades
invideoPromotion.items[].type
yinvideoPromotion.items[].videoId
se movieron al objetoinvideoPromotion.items[].id
.
-
-
El método
subscriptions.list
ahora admite los parámetrosonBehalfOfContentOwner
yonBehalfOfContentOwnerChannel
. Ambos parámetros ya son compatibles con varios otros métodos. -
En la respuesta de la API a una solicitud
thumbnails.set
, el valor de la propiedadkind
cambió deyoutube#thumbnailListResponse
ayoutube#thumbnailSetResponse
. -
Se agregaron muestras de código para los siguientes métodos:
channels.update
(Java y Python)playlists.insert
(.NET y PHP)subscriptions.insert
(PHP, Python)thumbnails.set
(PHP, Python)videos.insert
(PHP)videos.list
(PHP)videos.rate
(Python)videos.update
(Java, PHP y Python)
Ten en cuenta que también se quitó el ejemplo de Python para el método
playlistItems.insert
, ya que la funcionalidad que demostró ahora se controla con el métodovideos.rate
. -
error documentation
describe el siguiente error de contexto de solicitud nuevo, que podría ocurrir en cualquier método de API que admita el parámetro de solicitudmine
:Tipo de error Detalle del error Descripción badRequest
invalidMine
No se puede utilizar el parámetro mine
en solicitudes en las que el usuario autenticado es un socio de YouTube. Debes quitar el parámetromine
, autenticarte como usuario de YouTube quitando el parámetroonBehalfOfContentOwner
o actuar como uno de los canales del socio proporcionando el parámetroonBehalfOfContentOwnerChannel
si está disponible para el método llamado.
8 de agosto de 2013
Esta actualización incluye los siguientes cambios:
-
La sección Uso de la cuota de la guía Cómo empezar a utilizar la API de datos de YouTube se ha actualizado para reflejar un cambio en el costo de cuota de subida de un video de 16,000 unidades a 1600 unidades aproximadamente.
30 de julio de 2013
Esta actualización incluye los siguientes cambios:
-
En un recurso
channelBanner
, el valor de la propiedadkind
cambió deyoutube#channelBannerInsertResponse
ayoutube#channelBannerResource
. Este recurso se muestra en respuesta a una solicitudchannelBanners.insert
. -
La nueva propiedad
brandingSettings.channel.profileColor
del recursochannel
especifica un color destacado que complementa el contenido del canal. El valor de la propiedad es un signo numeral (#) seguido de una cadena hexadecimal de seis caracteres, como#2793e6
. -
La API ahora admite la capacidad de especificar si una suscripción es para todas las actividades de un canal o solo para las cargas nuevas. La nueva propiedad
contentDetails.activityType
del recursosubscription
identifica los tipos de actividades sobre las que se notificará al suscriptor. Los valores de propiedad válidos sonall
yuploads
. -
El método
videos.list
admite parámetros nuevos para recuperar un gráfico de los videos más populares de YouTube:- El parámetro
chart
identifica el gráfico que deseas recuperar. Actualmente, el único valor admitido esmostPopular
. Ten en cuenta que el parámetrochart
es un parámetro de filtro, lo que significa que no se puede usar en la misma solicitud que otros parámetros de filtro (id
ymyRating
). - El parámetro
videoCategoryId
identifica la categoría de video para la que se debe recuperar el gráfico. Este parámetro solo se puede usar junto con el parámetrochart
. De forma predeterminada, los gráficos no se restringen a una categoría en particular.
- El parámetro
-
La nueva propiedad
topicDetails.relevantTopicIds[]
del recursovideo
proporciona una lista de IDs de temas de Freebase que son relevantes para el video o su contenido. Es posible que los temas de estos temas se mencionen o aparezcan en el video. -
Se cambió el nombre de la propiedad
recordingDetails.location.elevation
del recursovideo
arecordingDetails.location.altitude
, y el de la propiedadfileDetails.recordingLocation.location.elevation
afileDetails.recordingLocation.location.altitude
. -
El objeto
contentDetails.contentRating
del recursovideo
especifica las clasificaciones que recibió un video según varios esquemas de clasificación, incluidas las clasificaciones de la MPAA, las clasificaciones de TVPG, etcétera. Para cada sistema de calificación, la API ahora admite un valor de calificación que indica que el video no se calificó. Ten en cuenta que, en el caso de las clasificaciones de la MPAA, se suele usar la clasificación "sin calificación" para identificar las versiones sin cortes de las películas que sí recibieron una clasificación oficial. -
La nueva propiedad
contentDetails.contentRating.ytRating
del recursovideo
identifica el contenido con restricción de edad. El valor de la propiedad seráytAgeRestricted
si YouTube identifica que el video incluye contenido inapropiado para usuarios menores de 18 años. Si la propiedad está ausente o si el valor de la propiedad está vacío, entonces el contenido no se identificó como restricción de edad. -
El parámetro
mySubscribers
del métodochannels.list
dejó de estar disponible. Usa el métodosubscriptions.list
y su parámetromySubscribers
para recuperar una lista de los suscriptores al canal del usuario autenticado. -
Los métodos
channelBanners.insert
,channels.update
,videos.getRating
yvideos.rate
ahora admiten el parámetroonBehalfOfContentOwner
. Ese parámetro indica que el usuario autenticado actúa en nombre del propietario del contenido especificado en el valor del parámetro. -
Se actualizó la documentación del método
channels.update
para reflejar el hecho de que ese método se puede usar para actualizar el objetobrandingSettings
del recursochannel
y sus propiedades secundarias. En la documentación, ahora también se muestra la lista actualizada de propiedades que puedes configurar para el objetoinvideoPromotion
del recursochannel
. -
error documentation
describe los siguientes errores nuevos:Tipo de error Detalle del error Descripción forbidden
accountDelegationForbidden
Este error no es específico de un método de API en particular. Indica que el usuario autenticado no está autorizado para actuar en nombre de la Cuenta de Google especificada. forbidden
authenticatedUserAccountClosed
Este error no es específico de un método de API en particular. Indica que la cuenta de YouTube del usuario autenticado está cerrada. Si el usuario actúa en nombre de otra Cuenta de Google, este error indicaría que esa otra cuenta está cerrada. forbidden
authenticatedUserAccountSuspended
Este error no es específico de un método de API en particular. Indica que la cuenta de YouTube del usuario autenticado está suspendida. Si el usuario actúa en nombre de otra Cuenta de Google, este error indicará que la otra cuenta está suspendida. forbidden
authenticatedUserNotChannel
Este error no es específico de un método de API en particular. Indica que el servidor de la API no puede identificar el canal asociado con la solicitud a la API. Si la solicitud está autorizada y usa el parámetro onBehalfOfContentOwner
, también debes establecer el parámetroonBehalfOfContentOwnerChannel
.forbidden
cmsUserAccountNotFound
Este error no es específico de un método de API en particular. No se permite al usuario de CMS actuar en nombre del propietario de contenido especificado. notFound
contentOwnerAccountNotFound
Este error no es específico de un método de API en particular. No se encontró la cuenta del propietario del contenido especificada. badRequest
invalidPart
Este error no es específico de un método de API en particular. El parámetro part
de la solicitud especifica las partes que no se pueden escribir al mismo tiempo.badRequest
videoChartNotFound
El método videos.list
muestra este error cuando la solicitud especifica un gráfico de video no compatible o no disponible.notFound
videoNotFound
El método videos.update
muestra este error para indicar que no se puede encontrar el video que intentas actualizar. Verifica el valor de la propiedadid
en el cuerpo de la solicitud para asegurarte de que sea correcto.
10 de junio de 2013
Esta actualización incluye los siguientes cambios:
-
El nuevo parámetro
forUsername
del métodochannels.list
te permite recuperar información sobre un canal mediante la especificación del nombre de usuario de YouTube. -
El método
activities.list
ahora admite el parámetroregionCode
, que le indica a la API que muestre resultados relevantes para el país especificado. YouTube utiliza este valor cuando la actividad anterior del usuario autorizado en YouTube no proporciona suficiente información para generar el feed de actividad. -
Los recursos de playlist ahora contienen la propiedad
snippet.tags
. La propiedad solo se mostrará a los usuarios autorizados que recuperen datos sobre sus propias playlists. Los usuarios autorizados también pueden establecer etiquetas de playlist cuando llaman a los métodosplaylists.insert
oplaylists.update
. -
El parámetro
onBehalfOfContentOwner
, que antes era compatible con los métodoschannels.list
ysearch.list
, ahora también es compatible con los métodosvideos.insert
,videos.update
yvideos.delete
. Ten en cuenta que, cuando se usa este parámetro en una llamada al métodovideos.insert
, la solicitud también debe especificar un valor para el nuevo parámetroonBehalfOfContentOwnerChannel
, que identifica el canal al que se agregará el video. El canal debe estar vinculado al propietario del contenido que especifica el parámetroonBehalfOfContentOwner
.El parámetro indica que las credenciales de autorización de la solicitud identifican a un usuario del CMS de YouTube que actúa en nombre del propietario del contenido especificado en el valor del parámetro. La cuenta de CMS con la que se autentica el usuario debe estar relacionada con el propietario del contenido de YouTube especificado.
Este parámetro está dirigido a socios de contenido que poseen y administran muchos canales de YouTube diferentes. El parámetro permite que esos socios se autentiquen una vez y obtengan acceso a todos sus datos de videos y canales, sin tener que proporcionar credenciales de autenticación para cada canal individual.
Específicamente en relación con esta versión, el parámetro ahora permite que un socio de contenido inserte, actualice o borre videos en cualquiera de los canales de YouTube que le pertenecen al socio.
-
En
error documentation
, se describen los siguientes errores nuevos:Tipo de error Detalle del error Descripción forbidden
insufficientCapabilities
Este error no es específico de un método de API en particular. Indica que el usuario del CMS que llama a la API no tiene permisos suficientes para realizar la operación solicitada. Este error está asociado con el uso del parámetro onBehalfOfContentOwner
, que es compatible con varios métodos de la API.unauthorized
authorizationRequired
El método activities.list
muestra este error cuando la solicitud usa el parámetrohome
, pero no está debidamente autorizado. -
En el recurso
channels
, se quitó la propiedadinvideoPromotion.channelId
porque el ID del canal ya se especificó con la propiedadid
del recurso. -
En la nueva guía Cómo trabajar con IDs de canal, se explica cómo la API usa los IDs de canal. La guía puede ser especialmente útil para los desarrolladores que migran desde la versión anterior de la API y quienes tienen aplicaciones que solicitan contenido para el usuario de
default
o que se basan en la noción de que cada canal de YouTube tiene un nombre de usuario único, que ya no es así.
22 de mayo de 2013
Esta actualización incluye los siguientes cambios:
-
El nuevo método
channelBanners.insert
te permite subir una imagen de banner que, posteriormente, se puede establecer como la imagen de banner de un canal con la nueva propiedadbrandingSettings.image.bannerExternalUrl
del recursochannel
. -
Se actualizó la documentación del método
channels.update
para enumerar las propiedades que se pueden modificar cuando se llama al método. -
En la documentación del recurso
video
, ya no se muestraunspecified
como un valor de propiedad válido para las propiedadessuggestions.processingErrors[]
,suggestions.processingHints[]
,suggestions.processingWarnings[]
ysuggestions.editorSuggestions[]
. -
El parámetro
maxResults
del métodovideos.list
ahora tiene un valor predeterminado de5
. -
Ahora,
error documentation
enumera los errores de los métodoschannelBanners.insert
ysubscriptions.list
. También se enumeran varios errores nuevos para el métodochannels.update
.
14 de mayo de 2013
Esta actualización incluye los siguientes cambios:
-
Las páginas independientes ahora incluyen muestras de código para Java, .NET, PHP y Ruby.
-
La página que enumera muestras de código de Python ahora incluye ejemplos para agregar una suscripción, crear una playlist y actualizar un video.
10 de mayo de 2013
Esta actualización incluye los siguientes cambios:
-
YouTube ya no identifica elementos y servicios experimentales de la API. En cambio, ahora se ofrece una lista de las API de YouTube que están sujetas a la política de baja.
8 de mayo de 2013
Esta actualización incluye los siguientes cambios:
-
Los recursos del canal ahora admiten el objeto
inVideoPromotion
, que encapsula información sobre una campaña promocional asociada con el canal. Un canal puede utilizar una campaña promocional en video para mostrar imágenes en miniatura de un video promocionado dentro del reproductor de video durante las reproducciones de videos del canal.Para recuperar estos datos, incluye
invideoPromotion
en el valor del parámetropart
en una solicitudchannels.list
. -
Se puede usar el nuevo método
channels.update
para actualizar los datos de las campañas promocionales en video de un canal. Ten en cuenta que el método solo admite actualizaciones en la parteinvideoPromotion
del recursochannel
y aún no admite actualizaciones en otras partes de ese recurso.
2 de mayo de 2013
Esta actualización incluye los siguientes cambios:
-
Los recursos del canal ahora admiten la propiedad
status.isLinked
, que indica si los datos del canal identifican a un usuario que ya está vinculado a un nombre de usuario de YouTube o a una cuenta de Google+. Un usuario que tenga uno de estos vínculos ya cuenta con una identidad pública de YouTube, que es un requisito para varias acciones, como subir videos. -
Los recursos de suscripción ahora admiten la parte
subscriberSnippet
. Ese objeto encapsula datos de fragmentos para el canal del suscriptor. -
La API ahora admite el método
videos.getRating
, que recupera las calificaciones que el usuario autenticado le dio a una lista de uno o más videos. -
El nuevo parámetro
myRating
del métodovideos.list
te permite recuperar una lista de videos que el usuario autenticado calificó con una calificaciónlike
odislike
.El parámetro
myRating
y el parámetroid
ahora se consideran parámetros de filtro, lo que significa que una solicitud a la API debe especificar exactamente uno de los parámetros. (Anteriormente, el parámetroid
era un parámetro obligatorio para este método).El método devuelve un error
forbidden
para las solicitudes que intentan recuperar información de clasificación de videos, pero no están debidamente autorizadas para hacerlo. -
Con la introducción del parámetro
myRating
, el métodovideos.list
también se actualizó para admitir la paginación. Sin embargo, ten en cuenta que los parámetros de paginación solo son compatibles con las solicitudes que usan el parámetromyRating
. (Los parámetros y la información de paginación no son compatibles con las solicitudes que usan el parámetroid
).-
El parámetro
maxResults
especifica la cantidad máxima de videos que la API puede mostrar en el conjunto de resultados, y el parámetropageToken
identifica una página específica en el conjunto de resultados que deseas recuperar. -
El recurso
youtube#videoListResponse
, que se muestra en respuesta a una solicitudvideos.list
, ahora contiene el objetopageInfo
, que contiene detalles como la cantidad total de resultados y la cantidad de resultados incluidos en el conjunto de resultados actual. El recursoyoutube#videoListResponse
también puede incluir propiedadesnextPageToken
yprevPageToken
, cada una de las cuales proporciona un token que se podría usar para recuperar una página específica en el conjunto de resultados.
-
-
El método
videos.insert
admite los siguientes parámetros nuevos:autoLevels
: Establece el valor de este parámetro entrue
para indicarle a YouTube que mejore automáticamente la iluminación y el color del video.stabilize
: establece este valor de parámetro entrue
para indicarle a YouTube que ajuste el video eliminando los movimientos de la cámara.
-
Se agregó la propiedad
channelTitle
asnippet
para los siguientes recursos:playlistItem
: la propiedad especifica el nombre del canal que agregó el elemento de la playlist.playlist
: la propiedad especifica el nombre del canal que creó la playlist.subscription
: la propiedad especifica el nombre del canal al que te suscribiste.
-
Se agregaron muestras de código para los siguientes métodos:
activities.insert
(Ruby)playlistItems.list
(.NET)search.list
(.NET)subscriptions.insert
(Java y Ruby)videos.insert
(.NET, Ruby)
-
El nuevo parámetro
mySubscribers
del métodosubscriptions.list
te permite recuperar una lista de los suscriptores del usuario autenticado actualmente. Este parámetro solo se puede utilizar en una solicitud debidamente autorizada.Nota: Esta funcionalidad tiene como objetivo reemplazar el parámetro
mySubscribers
que se admite actualmente para el métodochannels.list
. Ese parámetro dejará de estar disponible. -
En un recurso
video
, el valor de propiedadunspecified
ya no es un valor posible para ninguna de las siguientes propiedades: -
Las solicitudes a la API que contienen un parámetro inesperado ahora muestran un error
badRequest
, y el motivo informado para el error esunexpectedParameter
. -
Se actualizó el error que muestra el método
playlistItems.insert
cuando la playlist ya contiene la cantidad máxima de elementos permitidos. Ahora se informa como un errorforbidden
y el motivo del error esplaylistContainsMaximumNumberOfVideos
.
19 de abril de 2013
Esta actualización incluye los siguientes cambios:
-
El nuevo método
videos.rate
permite que un usuario establezca una calificación delike
odislike
en un video, o que quite la calificación.También se actualizó la documentación sobre errores para enumerar los errores que la API podría mostrar en respuesta a una llamada al método
videos.rate
. -
Las imágenes de miniaturas ahora se identifican en la documentación de la API como un recurso independiente, y el nuevo método
thumbnails.set
te permite subir una miniatura de video personalizada a YouTube y configurarla para un video.La documentación de errores también se actualizó para enumerar los errores que la API podría mostrar en respuesta a una llamada al método
thumbnails.set
.Ten en cuenta que este cambio en realidad no afecta a los recursos existentes que muestran imágenes en miniatura. Las imágenes en miniatura se muestran en esos recursos de la misma manera que antes, aunque, en la documentación, ahora se enumeran los nombres de los diferentes tamaños de miniaturas que la API puede mostrar.
-
La nueva parte
brandingSettings
del recursochannel
identifica la configuración, el texto y las imágenes de la página del canal y las páginas de reproducción de los videos. -
El recurso
playlistItem
contiene las siguientes propiedades nuevas:-
El nuevo objeto
status
encapsula la información de estado sobre el elemento de la playlist, y la propiedadstatus.privacyStatus
identifica el estado de privacidad del elemento de la playlist.
-
-
El recurso
video
contiene las siguientes propiedades nuevas:-
La propiedad
status.publicStatsViewable
indica si las estadísticas de video extendidas en la página de reproducción son visibles para el público. De forma predeterminada, esas estadísticas son visibles, y las estadísticas como la cantidad de vistas y las calificaciones de un video seguirán siendo visibles para el público, incluso si el valor de esta propiedad se establece enfalse
. Puedes establecer el valor de esta propiedad cuando llames al métodovideos.insert
ovideos.update
. -
El objeto
contentDetails.contentRating
encapsula las calificaciones que recibió el video según varios esquemas de calificación. En la siguiente lista, se identifican los sistemas de calificación admitidos y se proporciona un vínculo a la propiedad asociada con cada uno de ellos. Las definiciones de propiedad identifican los valores de calificación admitidos para cada sistema.País Sistema de clasificación Propiedad Estados Unidos Asociación Cinematográfica de Estados Unidos (MPAA) contentDetails.contentRating.mpaaRating
Estados Unidos Pautas de televisión para los padres contentDetails.contentRating.tvpgRating
Australia Australian Classification Board (ACB) contentDetails.contentRating.acbRating
Brasil Departamento de Justiça, Classificação, Qualificação e Títulos contentDetails.contentRating.djctqRating
Canadá Canadian Home Video Rating System (CHVRS) contentDetails.contentRating.chvrsRating
Francia Centre national du cinéma et de l'image animée (Ministerio de Cultura de Francia) contentDetails.contentRating.fmocRating
Alemania Freiwillige Selbstkontrolle der Filmwirtschaft (FSK) contentDetails.contentRating.fskRating
Gran Bretaña British Board of Film Classification (BBFC) contentDetails.contentRating.bbfcRating
India Junta Central de Certificación de Películas (CBFC) contentDetails.contentRating.cbfcRating
Japón 映倫管理委員会 (EIRIN) contentDetails.contentRating.eirinRating
Corea 영상물등급위원회 (KMRB) contentDetails.contentRating.kmrbRating
México Dirección General de Radio, Televisión y Cine (RTC) contentDetails.contentRating.rtcRating
Nueva Zelanda Oficina de Clasificación de Películas y Literatura contentDetails.contentRating.oflcRating
Rusia Registro Nacional de Cine de la Federación Rusa contentDetails.contentRating.russiaRating
España Instituto de la Cinematografía y de las Artes Audiovisuales (ICAA) contentDetails.contentRating.icaaRating
-
-
Se actualizó la documentación del método
playlistItems.update
para reflejar que la propiedadsnippet.resourceId
se debe especificar en el recurso que se envía como cuerpo de la solicitud. -
El método
search.list
ahora admite la siguiente funcionalidad:-
El nuevo parámetro
forMine
restringe una búsqueda para recuperar solo los videos del usuario autenticado. -
El parámetro
order
ahora admite la capacidad de ordenar los resultados alfabéticamente por título (order=title
) o por recuento de videos en orden descendente (order=videoCount
). -
El nuevo parámetro
safeSearch
indica si los resultados de la búsqueda deben incluir contenido restringido.
-
-
El método
videos.insert
admite varios errores nuevos, que se indican en la siguiente tabla:Tipo de error Detalle del error Descripción badRequest
invalidCategoryId
La propiedad snippet.categoryId
especifica un ID de categoría no válido. Usa el métodovideoCategories.list
para recuperar las categorías admitidas.badRequest
invalidRecordingDetails
metadata specifies invalid recording details.
badRequest
invalidVideoGameRating
Los metadatos de la solicitud especifican una calificación de videojuego no válida. badRequest
invalidVideoMetadata
Los metadatos de la solicitud no son válidos. -
Se quitó el parámetro
onBehalfOfContentOwner
de la lista de parámetros admitidos para los métodosvideos.update
yvideos.delete
.
12 de marzo de 2013
Esta actualización incluye los siguientes cambios:
-
Se agregó la propiedad
channelTitle
asnippet
para los siguientes recursos: -
El método
search.list
admite los siguientes parámetros nuevos:-
El parámetro
channelType
te permite restringir una búsqueda de canales para recuperar todos los canales o solo recuperar programas. -
El parámetro
videoType
te permite restringir una búsqueda de videos para recuperar todos los videos o solo obtener películas o solo episodios de programas.
-
-
Se actualizó la definición de la parte
recordingDetails
del recursovideo
para indicar que el objeto solo se mostrará para un video si se establecieron los datos de geolocalización o la hora de grabación del video. -
El método
playlistItems.update
ahora muestra un errorinvalidSnippet
, que se muestra si la solicitud a la API no especifica un fragmento válido. -
Varios métodos de la API admiten parámetros nuevos que están destinados exclusivamente a los socios de contenido de YouTube. Entre los socios de contenido de YouTube, se incluyen estudios de cine y televisión, sellos discográficos y otros creadores de contenido que ponen su contenido a disposición de los usuarios en YouTube.
-
El parámetro
onBehalfOfContentOwner
indica que las credenciales de autorización de la solicitud identifican a un usuario del CMS de YouTube que actúa en nombre del propietario del contenido especificado en el valor del parámetro. La cuenta de CMS con la que se autentica el usuario debe estar relacionada con el propietario del contenido de YouTube especificado.Este parámetro está dirigido a socios de contenido que poseen y administran muchos canales de YouTube diferentes. El parámetro permite que esos socios se autentiquen una vez y obtengan acceso a todos sus datos de videos y canales, sin tener que proporcionar credenciales de autenticación para cada canal individual.
Los métodos
channels.list
,search.list
,videos.delete
,videos.list
yvideos.update
admiten este parámetro. -
El parámetro
managedByMe
, que es compatible con el métodochannels.list
, le indica a la API que muestre todos los canales que pertenecen al propietario del contenido que especifica el parámetroonBehalfOfContentOwner
. -
El parámetro
forContentOwner
, que es compatible con el métodosearch.list
, le indica a la API que restrinja los resultados de la búsqueda para incluir solo los recursos que pertenecen al propietario del contenido que se especifica en el parámetroonBehalfOfContentOwner
.
-
25 de febrero de 2013
Esta actualización incluye los siguientes cambios:
-
La API admite varias piezas y propiedades nuevas para los recursos
video
:-
Las nuevas partes
fileDetails
,processingDetails
ysuggestions
proporcionan información a los propietarios de los videos sobre los videos que subieron. Estos datos son muy útiles en las aplicaciones que permiten subir videos y, además, incluyen lo siguiente:- estado del procesamiento y progreso
- errores y otros problemas encontrados durante el procesamiento de un video
- disponibilidad de las imágenes en miniatura
- sugerencias para mejorar la calidad de los videos o los metadatos
- detalles sobre el archivo original que se subió a YouTube
Solo el propietario del video puede recuperar todas estas partes. En la siguiente lista, se describen brevemente las partes nuevas, y la documentación de recursos de
video
define todas las propiedades que contiene cada parte.-
El objeto
fileDetails
contiene información sobre el archivo de video que se subió a YouTube, incluida la resolución del archivo, la duración, los códecs de audio y video, las tasas de bits de transmisión y mucho más. -
El objeto
processingProgress
contiene información sobre el progreso de YouTube en el procesamiento del archivo de video que se subió. Las propiedades del objeto identifican el estado actual del procesamiento y calculan el tiempo restante hasta que YouTube termine de procesar el video. Esta parte también indica si los diferentes tipos de datos o contenido, como detalles de los archivos o las imágenes en miniatura, están disponibles para el video.Este objeto está diseñado para ser consultado para que la persona que sube el video pueda realizar un seguimiento del progreso que ha hecho YouTube en el procesamiento del archivo de video subido.
-
El objeto
suggestions
contiene sugerencias que identifican oportunidades para mejorar la calidad del video o los metadatos del video que se subió.
-
La parte
contentDetails
contiene cuatro propiedades nuevas. Estas propiedades se pueden recuperar con solicitudes no autenticadas.dimension
: Indica si el video está disponible en 2D o 3D.definition
: Indica si el video está disponible en definición estándar o alta.caption
: Indica si los subtítulos están disponibles para el video.licensedContent
: Indica si el video contiene contenido que reclamó un socio de contenido de YouTube.
-
La parte
status
contiene dos propiedades nuevas. Los propietarios de videos pueden establecer valores para ambas propiedades cuando insertan o actualizan un video. Estas propiedades también se pueden recuperar con solicitudes sin autenticar.embeddable
: indica si el video puede incorporarse en otro sitio web.license
: Especifica la licencia del video. Los valores válidos soncreativeCommon
yyoutube
.
-
-
Se actualizó la definición del parámetro
part
para los métodosvideos.list
,videos.insert
yvideos.update
para enumerar las partes recién agregadas que se describieron anteriormente, así como la parterecordingDetails
, que se omitió por error. -
La nueva propiedad
contentDetails.googlePlusUserId
del recursochannel
especifica el ID del perfil de Google+ asociado con el canal. Este valor se puede usar para generar un vínculo al perfil de Google+. -
Cada objeto de imagen en miniatura ahora especifica el ancho y la altura de la imagen. Actualmente, las imágenes de miniatura se muestran en los recursos
activity
,channel
,playlist
,playlistItem
,search result
,subscription
yvideo
. -
playlistItems.list
ahora admite el parámetrovideoId
, que se puede usar junto con el parámetroplaylistId
para recuperar solo el elemento de la playlist que representa el video especificado.La API muestra un error
notFound
si el video que identifica el parámetro no se puede encontrar en la playlist. -
En la documentación de errores, se describe un nuevo error
forbidden
, que indica que una solicitud no está autorizada correctamente para la acción solicitada. -
Se quitó la propiedad
snippet.channelId
del recursochannel
. La propiedadid
del recurso proporciona el mismo valor.
30 de enero de 2013
Esta actualización incluye los siguientes cambios:
-
La nueva página error enumera los errores que la API puede mostrar. La página incluye errores generales, que pueden ocurrir en varios métodos de API diferentes, así como errores específicos del método.
16 de enero de 2013
Esta actualización incluye los siguientes cambios:
-
Las muestras de código ahora están disponibles para los métodos y los lenguajes que se indican en la siguiente lista:
activities.insert
: JavaplaylistItems.insert
: PythonplaylistItems.list
: Java, JavaScript, PHP, Python y Rubyplaylists.insert
: Java, JavaScript y Pythonsearch.list
: Java, JavaScript, Python y Rubyvideos.insert
: Java
-
Ahora, un recurso
activity
puede informar una acciónchannelItem
, que se produce cuando YouTube agrega un video a un canal de YouTube generado automáticamente. (YouTube identifica de forma algorítmica los temas que tienen una presencia significativa en el sitio web de YouTube y genera canales automáticamente para esos temas). -
Se actualizaron los siguientes parámetros de
search.list
:- El parámetro
q
ya no se designa como un filtro, lo que significa lo siguiente: - Se cambió el nombre del parámetro
relatedToVideo
porrelatedToVideoId
. - El parámetro
published
se reemplazó por dos nuevos parámetros,publishedAfter
ypublishedBefore
, que se describen a continuación.
- El parámetro
-
El método
search.list
admite los siguientes parámetros nuevos:Nombre del parámetro Valor Descripción channelId
string
Muestra recursos creados por el canal especificado. publishedAfter
datetime
Muestra los recursos creados después de la hora especificada. publishedBefore
datetime
Devuelve los recursos creados antes de la hora especificada. regionCode
string
Muestra recursos para el país especificado. videoCategoryId
string
Filtra los resultados de la búsqueda de videos para que solo incluyan videos asociados con la categoría de video especificada. videoEmbeddable
string
Filtra los resultados de la búsqueda de videos para incluir únicamente los que se pueden reproducir en un reproductor incorporado en una página web. Establece el valor del parámetro en true
para recuperar solo los videos que se puedan incorporar.videoSyndicated
string
Filtra los resultados de la búsqueda de videos para incluir solo los videos que se pueden reproducir fuera de YouTube.com. Establece el valor del parámetro en true
para recuperar solo los videos distribuidos. -
Varios recursos de API admiten propiedades nuevas. En la siguiente tabla, se identifican los recursos y sus propiedades nuevas:
Recurso Nombre de la propiedad Valor Descripción activity
contentDetails.playlistItem.playlistItemId
string
Es el ID del elemento de la playlist que YouTube asignó para identificarlo de forma única. activity
contentDetails.channelItem
object
Es un objeto que contiene información sobre un recurso que se agregó a un canal. Esta propiedad solo está presente si el snippet.type
eschannelItem
.activity
contentDetails.channelItem.resourceId
object
Un objeto que identifica el recurso que se agregó al canal. Al igual que otras propiedades resourceId
, contiene una propiedadkind
que especifica el tipo de recurso, como video o playlist. También contiene exactamente una de varias propiedades (videoId
,playlistId
, etcétera) que especifica el ID que identifica de forma exclusiva ese recurso.channel
status
object
Este objeto encapsula información sobre el estado de privacidad del canal. channel
status.privacyStatus
string
El estado de privacidad del canal Los valores válidos son private
ypublic
.playlist
contentDetails
object
Este objeto contiene metadatos acerca del contenido de la playlist. playlist
contentDetails.itemCount
unsigned integer
Número de videos en la lista de reproducción. playlist
player
object
Este objeto contiene información que usarías para reproducir la playlist en un reproductor incorporado. playlist
player.embedHtml
string
Una etiqueta <iframe>
que incorpora un reproductor de video que reproduce la playlist.video
recordingDetails
object
Este objeto encapsula información que identifica o describe el lugar y la hora en que se grabó el video. video
recordingDetails.location
object
Este objeto contiene información de ubicación geográfica asociada con el video. video
recordingDetails.location.latitude
double
Es la latitud en grados. video
recordingDetails.location.longitude
double
Es la longitud en grados. video
recordingDetails.location.elevation
double
Altitud sobre la Tierra, en metros. video
recordingDetails.locationDescription
string
Es una descripción textual de la ubicación donde se grabó el video. video
recordingDetails.recordingDate
datetime
Fecha y hora en que se grabó el video. El valor se especifica en formato ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ
). -
La documentación de varios métodos de la API ahora identifica las propiedades que se deben especificar en el cuerpo de la solicitud o que se actualizan en función de los valores del cuerpo de la solicitud. En la siguiente tabla, se enumeran esos métodos, así como las propiedades obligatorias o modificables.
Nota: Es posible que la documentación de otros métodos ya incluya una lista de propiedades obligatorias y modificables.
Método Propiedades activities.insert
Propiedades obligatorias: snippet.description
snippet.description
contentDetails.bulletin.resourceId
playlists.update
Propiedades obligatorias: id
playlistItems.update
Propiedades obligatorias: id
videos.update
Propiedades obligatorias: id
-
La API ya no informa un error
playlistAlreadyExists
si intentas crear o actualizar una playlist que tenga el mismo título que una que ya existe en el mismo canal. -
Varios métodos de API admiten nuevos tipos de error. En la siguiente tabla, se identifican el método y los errores admitidos recientemente:
Método Tipo de error Detalle del error Descripción guideCategories.list
notFound
notFound
No se puede encontrar la categoría de guía que identifica el parámetro id
. Usa el método guideCategories.list para recuperar una lista de valores válidos.playlistItems.delete
forbidden
playlistItemsNotAccessible
La solicitud no está debidamente autorizada para eliminar el elemento de la lista de reproducción especificada. videoCategories.list
notFound
videoCategoryNotFound
No se puede encontrar la categoría de video identificada por el parámetro id
. Usa el método videoCategories.list para recuperar una lista de valores válidos.