我们正在java 7和YouTube Data API v3中开发。
当我们用"processingDetails"部分调用上传服务时,我们得到一个503服务不可用错误。我们做错了什么?如果我们把它删掉,我们就可以上传视频了。但是我们想要/需要知道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统计,地位,processingDetails
下面是异常堆栈跟踪:
2013-06-14 17:50:40,375 ERROR [] [main](…)despegar.client.impl。YouTubeMediaClient (YouTubeMediaClient.java:264):错误com.google.api.client.googleapis.json.GoogleJsonResponseException: 503服务不可用com.google.api.client.googleapis.json.GoogleJsonResponseException.from (GoogleJsonResponseException.java: 145)com.google.api.client.googleapis.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 (YouTubeMediaClient.java: 260)
谢谢!
两件事:
- 您在
youtube.videos.insert()
请求中包含的part
参数值应该与您在上传元数据中指定的部分相对应。通常情况下,这将是snippet
(因为这是包含所需标题和描述的部分),有时status
(如果您还设置视频的公共/私有状态)。在上传过程中不能设置statistics
或processingDetails
,因此不应该将它们包含在部件列表中。上传完成后,您仍然可以通过youtube.videos.list()
调用请求statistics
或processingDetails
部件。 API应该返回一个有意义的错误消息,向你解释这个错误,而不是返回一个通用的503。我会向工程团队提交一个bug,让他们处理这个问题。