2015-05-12 21 views
9

Mam witrynę internetową, która przechowuje listy odtwarzania użytkowników, ale czasami filmy, które kiedyś były użyteczne, zostały usunięte z powodu naruszenia praw autorskich lub zostaną usunięte. Chciałbym, aby moja strona automatycznie wykrywała, kiedy tak się dzieje, aby mogła usunąć film lub go zastąpić. Zrobiłem wiele badań, próbując to zrozumieć, ale nic nie działa. na przykład żądanie danych API dla ID wideo youtube IcmTyiVkhGk (które jest niedostępne z powodu praw autorskich) nie ma zmiennej stanu yt: (która wskazuje, że jest ona ograniczona), pod kontrolą dostępu nie mówi ona o ograniczeniu lub coś podobnego. Jak sprawdzić tego typu dane?Jak sprawdzić, czy film z youtube jest zablokowany/ograniczony/usunięty?

http://gdata.youtube.com/feeds/api/videos/IcmTyiVkhGk?v=2&prettyprint=true

zasadniczo za pomocą tego, aby uzyskać dane, ale nie ma odpowiednich danych nie sądzę.

Ta strona jest w stanie wykryć, w których regionach witryna jest dostępna: http://polsy.org.uk/stuff/ytrestrict.cgi?ytid=IcmTyiVkhGk Czy ktoś wie jak to działa?

Odpowiedz

9

Użyj interfejsu API V3. https://developers.google.com/youtube/v3/docs/videos/list

Twoje pytanie składa się z dwóch części.

  1. Aby sprawdzić, czy filmy wideo zostały usunięte z YouTube, wyślij wideo: żądanie listy z identyfikatorem wideo. W przypadku jednego identyfikatora możesz po prostu sprawdzić, czy totalResults wynosi 0. Jeśli jednocześnie sprawdzasz wiele identyfikatorów wideo, sprawdź, które identyfikatory filmów nadal istnieją w YouTube.

Przykład:

GET https://www.googleapis.com/youtube/v3/videos?part=id&id=abcdefghijklm&key={YOUR_API_KEY} 

{ 
"kind": "youtube#videoListResponse", 
"etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/qFRkUhSdCF83BrjXm7uub8slGsk\"", 
"pageInfo": { 
    "totalResults": 0, 
    "resultsPerPage": 0 
}, 
"items": [ 
] 
} 
  1. Aby sprawdzić ograniczeń dostępu, wysyłanie filmów: lista wniosek o contentDetails.

Przykład:

GET https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=IcmTyiVkhGk&key={YOUR_API_KEY} 

w pozycjach [] będziesz sprawdzać

"regionRestriction": { 
"blocked": [ 
    "QA", 
    "AW", 
    "IN", 
    etc. 
    ] 
    } 
+0

dokładnie to, co zrobiłem. Dzięki. – theprogrammer311

+2

Wygląda na to, że działa, ponieważ umieszczasz tam fałszywe ID. jeśli spróbujesz prawdziwej osoby niepełnosprawnej, nie zadziała. –

+0

musisz poprosić o część statusu, będzie zawierać 'uploadStatus: rejected' dla usuniętych filmów, z powodu w' rejectionStatus' –

0

Mam też witrynę, podzielić się swoimi funkcjami. Używam kodu php, aby załadować stronę youtube filmu, a następnie przeanalizować kod źródłowy, aby znaleźć słowo kluczowe "Przepraszam za to". Mogę sprawdzić około 1,1 k filmów w kilka sekund. Jeśli czas zadzwonisz, to nie wystarczy, aby przejść jako atak DDoS.

Jednak ta metoda nie wykrywa ograniczeń regionu.

Powiązane problemy