【问题标题】:Error while using part="...,processingDetails" in a youtube.videos.insert() request在 youtube.videos.insert() 请求中使用 part="...,processingDetails" 时出错
【发布时间】:2013-06-11 15:08:51
【问题描述】:

我们正在使用 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: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)

谢谢!

【问题讨论】:

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


    【解决方案1】:

    两件事:

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

    【讨论】:

    • official documentation 不应该更清楚吗?我发现它具有误导性,因为它在videos.insert() 期间将processingDetails 列为parts 的有效选项之一。这是文档中的错误吗?
    • 是的,这也是一个误导性文档的案例。我会就此联系技术写作团队。
    猜你喜欢
    • 2014-09-10
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    相关资源
    最近更新 更多