Skocz do zawartości
_AvaX_

sdYouTubeAPI - API DO YOUTUBE

Rekomendowane odpowiedzi

Użytkownik

 

Witam.
Mam Wam do zaprezentowania coś na co wiele osób czekało, api do YouTube.
 

Czego możemy się dowiedzieć dzięki temu api?
  • Ilość subskrybentów danego kanału
  • Ilość polubień (like i dislike) pod konkretnym filmikiem
  • Tytuł filmiku
  • Opis filmiku
  • Czas trwania filmiku (do dopracowania)
  • Wyświetlenia pod filmem
  • ID najnowszego filmu
  • ID transmisji na żywo

Jak działa API?
Całe API jest na mojej stronie (darmowy hosting :kappa: ) i jest napisane w bardzo ale to bardzo amatorskim PHP.
Pobieranie informacji działa na pobieraniu całej strony, specjalnie z tego powodu na stronie nie ma tekstu innego niż szukamy.

Pobieranie informacji.
Aby dowiedzieć się czegoś o wideo wystarczy zapisać do zmiennej zawartość strony.
 

 

set {_title::*} to text from "http://apis.re-host.ovh/~quaczi/title.php?link=https://www.youtube.com/watch?v=YHbhRNexbS0"

Wszystkie podstrony (dane oraz link do nich) to:

  • desc.php?link={LINK DO FILMIKU} - Opis filmu
  • title.php?link={LINK DO FILMIKU} - Tytuł nagrania
  • likes.php?link={LINK DO FILMIKU} - Polubienia (like)
  • dislikes.php?link={LINK DO FILMIKU} - Polubienia (dislike)
  • dur.php?link={LINK DO FILMIKU} - Czas trwania
  • views.php?link={LINK DO FILMIKU} - Wyświetlenia
  • suby.php?link={LINK DO KANAŁU} - Opis filmu
  • new.php?id={ID KANAŁU} - ID najnowszego flimu na kanale
  • cviews.php?id={ID KANAŁU} - Ilość wyświetleń kanału
  • cdesc.php?id={ID KANAŁU} - Opis kanału
  • live.php?id={ID KANAŁU} - ID transmisji (jeżeli nie ma zwraca pusta strone)

Przykładowy skrypt z użyciem API:

command /yt [<text>] [<text>]:
    trigger:
        set {sdYtApi::link} to "http://apis.re-host.ovh/~quaczi/"
        if arg-1 is set:
            if arg-1 is "views" or "suby" or "title" or "likes" or "dislikes" or "dur" or "desc":
                if arg-2 is set:
                    set {_var::*} to text from "http://apis.re-host.ovh/~quaczi/%arg-1%.php?link=%arg-2%"
                    send "%{_var::*}%"
            else:
                if arg-1 is "new":
                    if arg-2 is set:
                        set {_var::*} to text from "http://apis.re-host.ovh/~quaczi/%arg-1%.php?user=%arg-2%"
                        if {Newest::%arg-2%} is not set:
                            set {Newest::%arg-2%} to "lol"
                            send "Use the command again"
                        else:
                            if {Newest::%arg-2%} is not "%{_var::*}%":
                                send "New video is available"
                                set {_title::*} to text from "http://apis.re-host.ovh/~quaczi/title.php?link=https://www.youtube.com/watch?v=%{_var::*}%"
                                set {_views::*} to text from "http://apis.re-host.ovh/~quaczi/views.php?link=https://www.youtube.com/watch?v=%{_var::*}%"
                                set {_likes::*} to text from "http://apis.re-host.ovh/~quaczi/likes.php?link=https://www.youtube.com/watch?v=%{_var::*}%"
                                set {_dislikes::*} to text from "http://apis.re-host.ovh/~quaczi/dislikes.php?link=https://www.youtube.com/watch?v=%{_var::*}%"
                                set {_desc::*} to text from "http://apis.re-host.ovh/~quaczi/desc.php?link=https://www.youtube.com/watch?v=%{_var::*}%"
                                send "Title: %{_title::*}%"
                                send "Views: %{_views::*}%"
                                send "Likes: %{_likes::*}%"
                                send "Dislikes: %{_dislikes::*}%"
                                send "Descripation: %{_desc::*}%"
                            else:
                                send "There is no new videos at %arg-2% channel"

 

Github: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

 

Update v1.1:

  • Przeniesiono API na lepszy,nowy host (Podziękowania dla @bopke)

Update v1.2:

  • Dodano repozytorium na Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!
  • Dodano konfiguracje
  • Dodano stronę główną oraz generator linków

Update v1.3:

  • Dodano dwie nowe podstrony
  • Delikatnie zmieniono stronę główną

Update v1.4:

  • Poprawiono czas trwania filmiku (aktualnie: 15:10, 1:01, 1:1)

Update v1.5:

  • Dodano informacje o live (ID)
Edytowane przez Quaczi
Update

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

@SzymoonDev zwróć jednak uwagę, że wcale nie musi pracować w skrypcie. Możesz stworzyć plugin. @Quaczi dał przykład skryptu, ale projektem jest php, który możesz zaimplementować wszędzie gdzie chcesz, nawet w czymś nie związanym z minecraftem.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

@Quaczi eh... skorzystałeś z mojego pomysłu, lecz nie do końca, bo jeśli wiesz to każdy potrafi pobrać rezultat ze strony i z niej odczytywać.

Moja ocena: 3/10
 

  • Korzystanie ze strony. | - 3 pkt
  • Błąd w słowie "Descripation" | - 0,5 pkt
  • "arg" | - 3,5 pkt

 

  • "API" działa | + 3 pkt

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

Czemu tam na githubie gdzie pobiera się pliki strony to w readme wszystko jest napisane po angielsku oprócz {TWOJ KLUCZ API} ? xD

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
7 godzin temu, McKoxu napisał:

Czemu tam na githubie gdzie pobiera się pliki strony to w readme wszystko jest napisane po angielsku oprócz {TWOJ KLUCZ API} ? xD

Chciałem napisać po angielsku po czym jak doszło do ustawienia języka na stronie głównej to zwątpiłem XDD Plan był dobry ale wyszło jak zawsze

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

Może jakieś wyłapywanie lajwa? W sensie tworzysz zapytanie czy na danym kanale live działa, i zwraca wtedy boolean true, albo false. Fajne by było do stworzenia automatycznych lajwów z serwera bez potrzeby promowania na chacie, czyli -spam :D Jak zrobisz to możesz liczyć na plugin z mojej strony o ww. funkcjach :D

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
52 minuty temu, KrejzolekPRO napisał:

Może jakieś wyłapywanie lajwa? W sensie tworzysz zapytanie czy na danym kanale live działa, i zwraca wtedy boolean true, albo false. Fajne by było do stworzenia automatycznych lajwów z serwera bez potrzeby promowania na chacie, czyli -spam :D Jak zrobisz to możesz liczyć na plugin z mojej strony o ww. funkcjach :D

Jest ;) 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Ten temat jest nieaktywny od dłuższego czasu. Nie odkopuj go bez potrzeby.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Losowy awatar
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Maksymalnie dozwolone są tylko 75 emotikony.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.


  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×