Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Api Youtube, bieżące id live
Saper82
post 10.04.2020, 09:30:46
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 11.07.2009

Ostrzeżenie: (0%)
-----


Witam

Mam stronę na której wyświetlam transmisje z różnych kanałów z YouTuba.
Jeśli na kanale jest nadawany jeden live to wystarczy dać channelID w parametrze embed w iframe i gotowe.

Problem zaczyna się gdy na jednym kanale jest nadawanych kila livów. Wtedy powyższa metoda nie zdaje egzaminu, nie ma się kontroli nad tym, który live zostanie zamieszczony.

Trzeba więc zamiast channelId użyć videoID, a ten się zmienia co jakiś czas. Automatycnie wydobyć taki videoId można za pomocą Api Youtube.
Problem w tym, że użycie zapytania search kosztuje 100 quota, a mam limit 10000 na dzień.
Daje to 100 zapytań, a to za mało.

Rozwiązałem to w taki sposób że moja strona pobiera kod HTML z kanału z Youtube
  1. $url = 'https://www.youtube.com/channel/'.$channelId.'/videos';
  2. $html = file_get_contents($url);

Następnie sobie z takiego HTMLa wyciągam videoId.
Ustawiłem też limit kilku minut, by nie za często pobierać z Youtuba stronę,,, może jeszcze zbanuje IP strony?questionmark.gif
Taki kod jest dodatkowo pobierany z chwilą wejścia użytkownika na dany live na mojej stronie.

Pytanie do Was.
Czy da się to lepiej zrobić? Nie jestem do końca zadowolony z tego file_get_contents, od tego jest przecież Api Youtuba.
Może wiecie jak to zrobić lepiej?
Go to the top of the page
+Quote Post
kreatiff
post 10.04.2020, 21:21:17
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----


Cytat(Saper82 @ 10.04.2020, 10:30:46 ) *
Taki kod jest dodatkowo pobierany z chwilą wejścia użytkownika na dany live na mojej stronie.
Pobierz go tylko raz, gdy jeszcze nikt nie wszedł i zapisz w bazie, by dla kolejnych userów już nie trzeba było pobierać na nowo tego samego id filmu.

YT ma też RSS, może z niego da się coś wydobyć to co potrzebujesz? Potestuj.
Tutaj przykładowy link (dla kanału Kurzgesagt - swoją drogą polecam): https://www.youtube.com/feeds/videos.xml?ch...ltHxD1rDPwtNM8Q
Go to the top of the page
+Quote Post
Saper82
post 11.04.2020, 08:55:04
Post #3





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 11.07.2009

Ostrzeżenie: (0%)
-----


Zapisuje w bazie ID filmu przy wejściu użytkownika, ale jeśli będzie kolejne wejście na stronę w ciągu 5 minut to ID jest już z bazy pobierany.
W każdej chwili ID może się zmienić, może też być tak że jakaś transmisja jest w ustalonych godzinach, więc trzeba sprawdzać czy się zaczęła. Stąd to ciągłe aktualizowanie ID, sprawdzanie czy się nie zmienił.

Zaskoczyłeś mnie tym RSS, nie zauważyłem by na YT coś takiego było.
Problemem może być brak informacji czy film jest filmem czy transmisją, ale myślę że jak dobrze przetestuje to wyciągnę i tę informacje po tych danych, np. poprzez porównanie do poprzednich pobranych danych.

Dzięki smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 02:01