YouTube API를 통해 동영상을 저장하려고합니다. 기본적으로 그것은 이미 하나 개의 예외, 잘 작동 : 내가 주로 사용하고있는 업로드 과정에 대한Java - YouTube API - 동영상의 setPublishAt에서 "400 Bad Request - invalidVideoMetadata"로 연결됩니다.
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();
: 나는 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."
}
코드는 다음과 같다 얻을 설정하려고하면 동일한 코드가 있고 거기에서 일하고 있습니다. publishAt
속성을 날짜로 설정하지 않고 대신 null로 설정하기로 결정한 경우 올바르게 작동합니다. 내가 놓친 게 있니?
업데이트 : 비디오는 public
으로 한 번만 설정 한 경우에만 발생합니다. 만약 내가 다시 private
으로 설정하고 새로운 publishAt
을 설정하면 BadRequest
을 얻게됩니다.
답장을 보내 주셔서 감사합니다. 그것을 시도했지만 성공하지 못했습니다. 어쨌든, 이것은 왜 실제로 privacystatus와 publishedAt를 null로 설정하는 것과 함께 작동하는지 설명하지 못합니다. – PAWL
@PAWL api가 privacystatus 및 publishedAt를 표시하지 않으면 null임을 의미합니다. 변경하지 않고 서버에 요청을 보낼 때. 그것은 올바르게 작동합니다. – Kumar
@PAWL은 다시 400 badRequest – Kumar