Skocz do zawartości

Rekomendowane odpowiedzi

 

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: przenieś

 

Update v1.1:

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

Update v1.2:

  • Dodano repozytorium na Github
  • 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
Odnośnik do komentarza
https://skript.pl/temat/21080-sdyoutubeapi-api-do-youtube/
Udostępnij na innych stronach

Wolałbym pliki źródłowe php, wtedy każdy może postawić u siebie unikając niepotrzebnego obciążania jakiegoś hostingu, mając pewność działania i nie narażając klucza api na zbyt duży ruch

Odnośnik do komentarza
https://skript.pl/temat/21080-sdyoutubeapi-api-do-youtube/#findComment-143157
Udostępnij na innych stronach

@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.

Odnośnik do komentarza
https://skript.pl/temat/21080-sdyoutubeapi-api-do-youtube/#findComment-143239
Udostępnij na innych stronach

@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
Odnośnik do komentarza
https://skript.pl/temat/21080-sdyoutubeapi-api-do-youtube/#findComment-143254
Udostępnij na innych stronach

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

Odnośnik do komentarza
https://skript.pl/temat/21080-sdyoutubeapi-api-do-youtube/#findComment-144026
Udostępnij na innych stronach

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

Odnośnik do komentarza
https://skript.pl/temat/21080-sdyoutubeapi-api-do-youtube/#findComment-144199
Udostępnij na innych stronach

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 ;) 

Odnośnik do komentarza
https://skript.pl/temat/21080-sdyoutubeapi-api-do-youtube/#findComment-144209
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   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.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...