- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 YouTube API 保存视频。基本上它已经工作正常,只有一个异常(exception):如果我尝试设置 status.setPublishAt()
我明白了
400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "youtube.video",
"location" : "body",
"locationType" : "other",
"message" : "The request metadata is invalid.",
"reason" : "invalidVideoMetadata"
} ],
"message" : "The request metadata is invalid."
}
代码如下:
YouTube.Videos.List listVideosRequest = M_YOUTUBE.videos().list("snippet,status").setId(_dbVideo.getYoutubeId());
VideoListResponse listResponse = listVideosRequest.execute();
List<Video> videoList = listResponse.getItems();
if (videoList.isEmpty()) {
return false;
}
Video video = videoList.get(0);
VideoStatus status = video.getStatus();
status.setPrivacyStatus(_dbVideo.getPrivacyStatus()); // "private"
String sPublishedAt = _dbVideo.getPublishedAt();
// sPublishAt is in ISO 8106: "2016-10-28T10:01:00.000+02:00"
if (sPublishedAt != null && sPublishedAt != "") {
// this line leads to the bad request.
status.setPublishAt(new DateTime(sPublishedAt));
} else {
status.setPublishAt(null);
}
VideoSnippet snippet = video.getSnippet();
String sTitle = _dbVideo.getTitle();
String sDescription = _dbVideo.getDescription();
String sTags = _dbVideo.getTags();
...
snippet.setTitle(sTitle);
snippet.setDescription(sDescription);
snippet.setTags(tagList);
snippet.setCategoryId(_dbVideo.getCategoryId());
YouTube.Videos.Update updateVideosRequest = M_YOUTUBE.videos().update("snippet,status", video);
updateVideosRequest.execute();
对于上传过程,我使用的代码基本相同,并且它在那里工作。如果我决定不设置publishAt
带有日期的属性并将其设置为 null 它也工作正常。我错过了什么吗?
更新:仅当视频设置为 public
时才会发生此行为一次。如果我决定将其设置回 private
并设置一个新的 publishAt
我得到BadRequest
.
最佳答案
您必须发送所有状态值,否则更新方法会认为您正在尝试清空它们。您已发送 setPrivacyStatus 和publishat。但您应该将所有其他参数发送到您的请求。另外,如果您发送的发布时间太接近当前时间,则会显示 badRequest (400) invalidPublishAt。尝试投入 60 分钟。它对我有用。
关于Java - YouTube API - 视频上的 setPublishAt 导致 "400 Bad Request - invalidVideoMetadata",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40256970/
我使用 youtube API 来更新 youtube 上的视频。问题是当我想更新视频 publishAt 状态时,我从 youtube 收到了这个错误。 [2017-11-29 12:19:39]
我正在尝试通过 YouTube API 保存视频。基本上它已经工作正常,只有一个异常(exception):如果我尝试设置 status.setPublishAt()我明白了 400 Bad Requ
我是一名优秀的程序员,十分优秀!