유튜브 영상정보 불러올때 에러처리
본문
유튜브의 특정 영상에서 제목과 게시일, 채널정보를 불러오는 구글앱스트립트입니다.
구글개발자 페이지에 예시로 올라와 있기에 그대로 사용하고 있으며, 구글 시트 A행에
비디어 정보를 넣으면 이를 불러와서 C행부터 관련정보를 붙여줍니다. 유튜브 v3 API를
활용합니다.
영상이 존재하는 경우는 잘 구동되는데, 해당 동영상이 삭제되었거나 혹은 비공개로
전환되면 정보를 받아오지 못하는지 해당 부분에서 에러가 납니다.
snippet에서 정보를 받아오면서 에러가 나고(27번, 익명), 정보를 배열하는 란(11번,함수에러)
에서도 에러가 나는데 너무 초보이다보니 이런저런 자료를 찾아봐도 잘 모르겠습니다. ㅜㅜ
-----------------------------------------------------------------------------
for (var i = 1; i < numRows; ++i) {
var row = rows[i];
var videoId = extractVideoIdFromUrl(row[videoColumnIdx])
if(!videoId) {
continue;
}
var detailsResponse = getVideoDetails(videoId);
var title = detailsResponse.items[0].snippet.title;
var publishDate = detailsResponse.items[0].snippet.publishedAt;
var publishDateFormatted = new Date(publishDate);
var channel = detailsResponse.items[0].snippet.channelTitle;
function getVideoDetails(videoId) {
var part = "snippet,statistics,contentDetails";
var response = YouTube.Videos.list(part,
{'id': videoId});
return response;
}
---------------------------------------------------------------------------
TypeError: Cannot read property "snippet" from undefined.
(익명)
@Code.gs:27
markVideos
@Code.gs:11
답변 2
동영상이 삭제되거나 비공개인 경우에 그걸 보려고 하시는 건가요?
그럴 수는 없습니다.
단지 비공개인 경우에는 업로더에게 확인을 받는 절차가 있는 것으로 압니다만...
비공개 영상을 api로 가져올 수는 없습니다