2

我们正在使用 java 7 和 YouTube Data API v3 进行开发。

当我们使用“processingDetails”部分调用上传服务时,我们会收到 503 Service Unavailable 错误。我们做错了什么?如果我们删除它,我们可以上传视频就好了。但我们想/需要了解 processingDetails。

这是代码:

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

其他一切都与 google API 中提供的 java 客户端相同。

这是请求: https ://www.googleapis.com/upload/youtube/v3/videos?part=snippet,statistics,status,processingDetails

这是异常堆栈跟踪:

2013-06-14 17:50:40,375 错误 [] [main] (...)despegar.client.impl.YouTubeMediaClient (YouTubeMediaClient.java:264):错误 com.google.api.client.googleapis.json.GoogleJsonResponseException : com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java: com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145) 的 503 服务不可用: 111) 在 com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:423) 的 com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:38)在 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(YouTubeMediaClient.java:260)

谢谢!

4

1 回答 1

3

两件事情:

  1. part您在请求中包含的参数值youtube.videos.insert()应与您在上传元数据中指定的部分相对应。通常是snippet(因为这是包含所需标题和描述的部分),有时是status(如果您还设置视频的公共/私人状态)。您无法设置statisticsprocessingDetails在上传期间,因此不应将它们包含在部件列表中。上传完成后,您仍然可以通过调用请求这些statisticsprocessingDetails部分。youtube.videos.list()
  2. API 应该返回一个有意义的错误消息,向您解释这一点,而不是返回一个通用的 503。我将向工程团队提交一个错误,要求他们处理这个问题。
于 2013-06-17T20:13:56.877 回答