2015-07-16 37 views
5

Ich arbeite an YouTube-Daten API v3.Überprüfen Sie, ob ein Video verfügbar ist

Ich möchte wissen, wie kann ich überprüfen, ob ein Video von YouTube deaktiviert oder entfernt wurde.

Z. B: https://www.youtube.com/watch?v=dHt_6Z2OaZI

https://www.googleapis.com/youtube/v3/videos?id=dHt_6Z2OaZI 
&part=snippet,contentDetails,player,statistics,status 
&key=[mykey] 

kann ich keine Ahnung von der API erhalten.

{ 
"kind": "youtube#videoListResponse", 
"etag": "\"iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/Y7032cCbQSAurzEiVMjdFYzamtg\"", 
"pageInfo": { 
"totalResults": 1, 
"resultsPerPage": 1 
}, 
"items": [ 
{ 
"kind": "youtube#video", 
"etag": "\"iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/2FORRsUGqbS1nvQK3AR1PfmiN7I\"", 
"id": "dHt_6Z2OaZI", 
"snippet": {}, 
"contentDetails": { 
"duration": "PT1H31M1S", 
"dimension": "2d", 
"definition": "sd", 
"caption": "false", 
"licensedContent": false 
}, 
"status": { 
"uploadStatus": "processed", 
"privacyStatus": "public", 
"license": "youtube", 
"embeddable": true, 
"publicStatsViewable": true 
}, 
"statistics": { 
"viewCount": "301", 
"likeCount": "0", 
"dislikeCount": "0", 
"favoriteCount": "0", 
"commentCount": "0" 
}, 
"player": { 
"embedHtml": "<iframe width=\"640\" height=\"360\" src=\"//www.youtube.com/embed/dHt_6Z2OaZI\" frameborder=\"0\" allowfullscreen></iframe>" 
} 
} 
] 
} 

ich versucht, dieses

https://www.googleapis.com/youtube/v3/videos 
?part=id 
&key=[mykey] 
&id=dHt_6Z2OaZI 

Aber es funktioniert nicht, noch das Ergebnis.

+0

Diese Frage kann das haben was Sie suchen: http://stackoverflow.com/questions/1591293/programmatic-determine-whether-a-youtube-video-ha-been-taken-down – MC10

+2

@ MC10 Diese Frage verwendet die veraltete v2-Version der YouTube-API und ist nicht hilfreich für Nutzer, die mit der v3-API nach einer Antwort suchen. – JAL

Antwort

1

In den von Ihnen geposteten Ergebnissen steht ein Feld status. Ich denke, das Teilfeld, das am ehesten mit dem übereinstimmt, was Sie wollen, ist uploadStatus. Wenn ich einen API-Aufruf für das Video auszuführen, erhalte ich:

  • gelöscht
  • fehlgeschlagen
  • verarbeitet:

    "status": { 
        "uploadStatus": "rejected", 
        "rejectionReason": "uploaderAccountSuspended", 
        "privacyStatus": "public", 
        "license": "youtube", 
        "embeddable": true, 
        "publicStatsViewable": true 
        } 
    

    Vom documentation, hier die möglichen Werte für uploadStatus sind

  • abgelehnt
  • hochgeladen

Nachdem ein Video erfolgreich hochgeladen und verarbeitet wird, sollte es für die Nutzer zugänglich sein (vorausgesetzt, es ist auch der Öffentlichkeit). Daher sollten Sie nur überprüfen, ob der Status "abgelehnt" oder "gelöscht" ist.

+1

Ich fürchte, das funktioniert nicht für gelöschte Videos. Dies ist, was die api kehrt für ein gelöschtes Video: { "Art": "youtube # videoListResponse", "etag": "\" iDqJ1j7zKs4x3o3ZsFlBOwgWAHU/q9wh51deRpP1b7X8Nc3D-bdBxqs \ "", "Seiteninfo": { "totalResults" : 0, "resultsPerPage": 0 }, "Artikel": [ ] } –

Verwandte Themen