在youtube.videos.insert()请求中使用part =“...,processingDetails”时出错

时间:2013-06-14 21:19:26

标签: java youtube youtube-api java-7 youtube-data-api

我们正在开发java 7和YouTube Data API v3。

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

以下是代码:

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

其他一切与谷歌API中提供的Java客户端相同。

这是请求: https://www.googleapis.com/upload/youtube/v3/videos?part=snippet,statistics,status,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)

谢谢!

1 个答案:

答案 0 :(得分:3)

两件事:

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