Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check if a video is available

I'm working on YouTube data API v3.

I want to know how can i check if a video has been disabled or removed by YouTube.

E.g: 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]

I can not get any idea from the API.

{
"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>"
}
}
]
}

I tried this

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

But it's NOT working, still give the result.

like image 638
Benny Ae Avatar asked Jul 16 '15 18:07

Benny Ae


1 Answers

There's a status field in the results you posted. I think the subfield that most closely relates to what you want is uploadStatus. When I perform an API call for that video, I get:

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

From the documentation, here are the possible values for uploadStatus:

  • deleted
  • failed
  • processed
  • rejected
  • uploaded

After a video is successfully uploaded and processed, it should be accessible to users (assuming it's also public). Therefore, you should just be checking if status is "rejected" or "deleted".

like image 93
not_a_bot Avatar answered Oct 04 '22 18:10

not_a_bot