0

YouTube API를 사용하여 내 재생 목록 중 하나에서 동영상을 삭제하려고합니다. 나는 제대로 인증 해요하지만, 난 여전히 다음과 같은 오류 받고 있어요 : https://developers.google.com/youtube/v3/docs/playlistItems/deleteYouTube API를 사용하여 재생 목록에서 동영상 삭제

하지만 제가 이해하지 못하는 것은 당신이 넣어 야지 곳이다 : 여기의 지침에 따라거야

{ 
    "code" : 403, 
    "errors" : [ { 
    "domain" : "youtube.playlistItem", 
    "location" : "id", 
    "locationType" : "parameter", 
    "message" : "Forbidden", 
    "reason" : "playlistItemsNotAccessible" 
    } ], 
"message" : "Forbidden" 
} 

을 재생 목록 ID. 어디에서 videoID를 넣었는지 알지만 삭제할 재생 목록을 어떻게 알 수 있습니까? 내 문제라고 생각해. 여기에 자신의 예제의 코드이며, 광산은 동일하다 :

// Sample java code for playlistItems.delete 

public static void main(String[] args) throws IOException { 
    YouTube service = getYouTubeService(); 
    try { 
     HashMap<String, String> parameters = new HashMap<>(); 
     parameters.put("id", "REPLACE_ME"); 
     parameters.put("onBehalfOfContentOwner", ""); 

     YouTube.PlaylistItems.Delete playlistItemsDeleteRequest = youtube.playlistItems().delete(parameters.get("id").toString()); 
     if (parameters.containsKey("onBehalfOfContentOwner") && parameters.get("onBehalfOfContentOwner") != "") { 
      playlistItemsDeleteRequest.setOnBehalfOfContentOwner(parameters.get("onBehalfOfContentOwner").toString()); 
     } 

     playlistItemsDeleteRequest.execute(); 
    } 
} 

도 같은 오류를 제공 페이지에 그들의 "그것을 시도"섹션에서 playlistID에 대한 입력이 아니다. 그냥 BehalfOfContentOwner와 ID에서. videoID를 입력하고 페이지에서 실행 한 후에도 동일한 오류가 발생합니다. 어디에서 재생 목록을 넣어야합니까?

+0

당신이 [코멘트를 검사 할 때 (https://stackoverflow.com/questions/32607448/youtube-api-v3-error-403-playlistitemsnotaccessible)에서 다른 사람의 재생 목록을 변경하거나 변경할 수는 없다고합니다. 사용자가 응용 프로그램에 권한을 부여하지 않는 한 다른 사용자 재생 목록의 비디오를 업데이트 (삽입/삭제) 할 수 없습니다. 오류 설명은이 [documentation] (https://developers.google.com/youtube/v3/docs/errors#playlistItems_youtube.playlistItems.delete)을 확인하세요. –

+0

내 자신의 재생 목록에서 비디오를 삭제하려고했는데 올바르게 인증되었습니다 (비디오를 잘 추가 할 수 있음). 나는 그것을 알아 냈다. 곧 답변을 올리겠습니다. 기본적으로 잘못된 videoId를 사용하고있었습니다. 동영상을 재생할 때 URL에 표시되는 짧은 것을 사용하려고했습니다. 대신 PlaylistItems.list에서 제공되는 것을 사용해야합니다. –

답변

0

알아 냈어. 그리고 명확히하기 위해 : 나는 내 자신의 재생 목록에서 비디오를 지우려고했는데 제대로 인증되었습니다 (비디오를 잘 추가 할 수있었습니다).

기본적으로 잘못된 videoId를 사용하고있었습니다. 동영상을 재생할 때 URL에 표시되는 짧은 것을 사용하려고했습니다 (예 : qNqfYtd3HTg). 대신 PlaylistItems.list에서 제공되는 것을 사용해야합니다 (예 : UEwzdmpFaWdSbm5rQ3hPN29qNXFjM1c0c20zNVlRSC1hQi5DNUEzOUFFNkIyOUUOTRC). 후자에는 동영상이있는 재생 목록에 대한 정보가 포함되어 있으므로 재생 목록에서 동영상을 삭제할 때 재생 목록을 지정하지 않아도됩니다. 단 하나의 긴 videoId입니다.

이 재생 목록에서 비디오를 삭제할 때 videoId가 사용되지 않습니다

youtube.playlistItems().list("contentDetails,snippet").execute().items[0].snippet.resourceId.videoId

을 그리고 이것은 사용하는 videoId가 있습니다 :

youtube.playlistItems().list("contentDetails,snippet").execute().items[0].id

관련 문제