2013-06-14 1 views
2

Мы разрабатываем java 7 и API данных YouTube v3.Ошибка при использовании part = "..., processingDetails" в запросе youtube.videos.insert()

Когда мы вызываем службу загрузки с частью «processingDetails», мы получаем сообщение об ошибке «Недоступная услуга 503». Что мы делаем не так? Если мы удалим его, мы можем загрузить видео просто отлично. Но мы хотим/должны знать о обработкеDetails.

Вот код:

YouTube.Videos.Insert videoInsert = this.youtube.videos().insert("snippet,statistics,status,processingDetails", videoObjectDefiningMetadata, mediaContent); 

все остальное это то же самое, что и клиент Java, представленной в Google API.

Вот запрос: https://www.googleapis.com/upload/youtube/v3/videos?part=snippet,statistics,status,processingDetails

А вот стек исключений трассировки:

2013-06-14 17: 50: 40375 ERROR [] [главная] (...) despegar.client.impl.YouTubeMediaClient (YouTubeMediaClient.java:264): ошибка com.google.api.client.googleapis.json.GoogleJsonResponseException: 503 Служба недоступна по адресу com.google.api.client.googleapis.json.GoogleJsonResponseException. от (GoogleJsonResponseException.java:145) по адресу com.google.api.client.google apis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError (AbstractGoogleJsonClientRequest.java:111) на com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError (AbstractGoogleJsonClientRequest.java:38) на com.google.api. client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed (AbstractGoogleClientRequest.java:423) на com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed (AbstractGoogleClientRequest.java:343) на com.google.api.client. googleapis.services.AbstractGoogleClientRequest.execute (AbstractGoogleClientRequest.java:460) на com.despegar.client.impl.YouTubeMediaClient.uploadVideoWithFailureRecovery (YouTubeMediaClient.java:285) в com.despegar.client.impl.YouTubeMediaClient.uploadAttempt (YouTu beMediaClient.java:260)

Спасибо!

ответ

3

Две вещи:

  1. В part значения параметров включаемой в вашем youtube.videos.insert() запросе должны соответствовать частям вы задающие в метаданных загрузки. Обычно это будет snippet (так как это часть, содержащая требуемый заголовок и описание), а иногда status (если вы также устанавливаете публичный/частный статус видео). Вы не можете установить statistics или processingDetails во время загрузки, поэтому вы не должны включать их в список частей. Вы по-прежнему можете запросить statistics или processingDetails части после. Загрузка завершена с помощью вызова youtube.videos.list().
  2. API должен вернуть осмысленное сообщение об ошибке, объясняющее это вам, вместо того, чтобы возвращать общий 503. Я напишу ошибку, чтобы инженерная группа попросила их позаботиться об этом.
+0

Должно ли [официальная документация] (https://developers.google.com/youtube/v3/docs/videos/insert) быть более четким? Я нахожу это вводящим в заблуждение, так как он перечисляет 'processingDetails' как один из допустимых параметров для' parts' во время 'video.insert()'. Это ошибка в документах? –

+1

Да, это также случай вводящей в заблуждение документации. Я буду пинговать в команде технической письменности. –