2013-06-05 1 views
0

Google js api Link1 및 youtube v3 api를 사용했습니다. Link2 js를 사용하여 비디오를 업데이트하고 js 코드를 사용하여 비디오를 나열합니다. :동일한 비디오 ID를 업데이트했지만 youtube-api v3에 여전히 "비디오를 찾을 수 없음"이 표시됩니다.

var requestOptions = { 
playlistId: playlistId, 
part: 'snippet', 
//id: ['uY3InyzU79U','nOoHrAR50f8'], 
myRating:'like', 
maxResults: 9 
}; 
if (pageToken) { 
requestOptions.pageToken = pageToken; 
pToken=pageToken; 
} 
var request = gapi.client.youtube.videos.list(requestOptions); 
request.execute(somefunction()); 

JSON 응답 :

[ 
{ 
"id": "gapiRpc", 
"result": { 
"kind": "youtube#videoListResponse", 
"etag": "\"Wes3wj_Yozi4a9GfHnpc8qG73KI/8qQBat1N6baCDG6C3Eed_XV_sZo\"", 
"pageInfo": { 
    "totalResults": 3, 
    "resultsPerPage": 9 
}, 
"items": [ 
{ 
"id": "nOoHrAR50f8", 
"kind": "youtube#video", 
"etag": "\"Wes3wj_Yozi4a9GfHnpc8qG73KI/f7JZaoHeZG-CDYzXVRw2Q11Lins\"", 
"snippet": { 
    "publishedAt": "2013-05-30T05:37:50.000Z", 
    "channelId": "UCx0RClYCMhtsOXRlSyRcuRA", 
    "title": "Webcam video from May 30, 2013 3:36 PM", 
    "description": "", 
    "thumbnails": { 
    "default": { 
    "url": "https://i3.ytimg.com/vi/nOoHrAR50f8/default.jpg" 
    }, 
    "medium": { 
    "url": "https://i3.ytimg.com/vi/nOoHrAR50f8/mqdefault.jpg" 
    }, 
    "high": { 
    "url": "https://i3.ytimg.com/vi/nOoHrAR50f8/hqdefault.jpg" 
    }, 
    "standard": { 
    "url": "https://i3.ytimg.com/vi/nOoHrAR50f8/sddefault.jpg" 
    } 
    }, 
    "channelTitle": "foretribe1", 
    "tags": [ 
    "test", 
    "webcam" 
    ], 
    "categoryId": "22" 
} 
} 
] 
} 
} 
] 

업데이트 비디오 JS 코드 :

var requestOptions = { 
    part:'snippet', 

    id: String(id), 
    snippet:{ title: "ok update"} 

}; 
    var request = gapi.client.youtube.videos.update(requestOptions); 
    request.execute(nothing()); 

요청 JSON :

[{"jsonrpc":"2.0", 
    "id":"gapiRpc", 
    "method":"youtube.videos.update", 
    "params": { 
    "part":"snippet", 
    "id":"nOoHrAR50f8", 
    "snippet":{"title":"ok update"} 
    }, 
    "apiVersion":"v3" 
}] 

당신이 ID가 목록 요청 JSON과 동일 여기에서 볼 수 있지만 여전히 오류 응답 수 :

[ 
{ 
"error": { 
"code": 500, 
"message": "Video not found", 
"data": [ 
{ 
"message": "Video not found" 
} 
] 
}, 
"id": "gapiRpc" 
} 
] 

나는 또한 Link2에서 테스트를하지만, 또한 500 오류가 발생합니다.

답변

0
당신은 '자원'속성에 업데이트를 감싸 필요

:

gapi.client.youtube.videos.update({ 
    fields: "snippet", 
    part: "snippet", 
    resource: { 
    id: "vid_id", 
    snippet: { 
     description: "updating vid", 
    } 
    } 
}); 

하면 코드에서 다른 속성을 설정하는 것을 잊지 마십시오 (카테고리 ID, 태그, 등 등); 그렇지 않으면 다른 오류가 발생하거나 설정이 해제됩니다.

아마도 가장 좋은 방법은 gapi.client.youtube.videos.list를 사용하여 먼저 동영상 스 니펫을 검색하고 스 니펫을 변경 한 다음 gapi.client.youtube.videos.update를 호출하여 변경된 스 니펫을 리소스 attrbute.