Kā izveidot YouTube augšupielādētāja robotu, izmantojot Google Apps Script

Ikreiz, kad dzirdat vārdu “Bot”, jūs droši vien iedomājaties tādu robotu, kādu viņi rāda filmās. Arī viņi ir roboti, drīzāk gudri. Bet šeit mēs atsaucamies uz cita veida botu.

Mēs varam definēt robotu kā skriptu, ko var izmantot, lai automatizētu noteiktus uzdevumus, kas cilvēkiem ir vai nu nogurdinoši, vai grūti. Ir labi un slikti roboti, un starp tiem ir ļoti smalka līnija.

Pirms sākam, ļaujiet man pateikt jums vienu lietu. Šajā apmācībā ir apskatīta tikai tā daļa, kas ietver videoklipu augšupielādi vietnē YouTube. Šeit izmantosim video paraugu.

Ja izveidojat robotu, kas regulāri augšupielādē video (piemēram, Webdriver Torso, par kuru mēs vairāk runāsim raksta beigās), jums ir nepieciešams video avots.

Arī brīdinājums : noteikti pārbaudiet visu jūsu augšupielādēto videoklipu autortiesības. Manis izveidotā robota versija augšupielādēja citu videoklipus vietnē YouTube - un jūs neticēsiet tam, kas notika. Es saņēmu virkni autortiesību pretenziju un brīdinājumu, un mans kanāls galu galā tika izdzēsts.

Tāpēc šajā apmācībā es jums parādīšu, kā tas tiek darīts. Bet, ja vēlaties to ieviest, vispirms atrodiet labu videoklipu avotu, kurus varat augšupielādēt bez autortiesību jautājumiem.

Kāpēc Google Apps Script?

Google Apps Script ir skriptu platforma, ko Google izstrādājusi vieglu lietojumprogrammu darbināšanai. Tās sintakse ir balstīta uz JavaScript. Ja jūs jau zināt Javascript, jūs to atradīsit ļoti vienkārši.

Iemesls, kāpēc mēs izmantojam Google Apps Script, ir tāpēc, ka tas ļoti atvieglo šī robota izveidi. Tam ir iebūvēts atbalsts lielākajai daļai Google produktu, piemēram, Gmail, Izklājlapas, Veidlapas un Youtube. Un tas ir bez maksas.

Google Apps Script pārskats

Google Apps Script ir tiešsaistes redaktors un failu sistēma. Tam nav nepieciešama izvietošana, jums vienkārši ir jāsaglabā kods, un tas darbojas.

Atverot Apps Script redaktoru, tas izskatīsies apmēram šādi:

Tāpat kā jebkuram citam teksta redaktoram, tajā ir sānjosla ar failu sarakstu, izvēlne un vieta koda rakstīšanai. Kodu failiem ir paplašinājums .gs (iespējams, Google skriptam). Un pats galvenais, visam kodam jābūt kādas funkcijas iekšpusē - anonīms kods netiks izpildīts.

Ir divas īpašas funkcijas, doPost()un doGet(). Kā norāda nosaukums, tos izmanto attiecīgi POST un GET pieprasījumu apstrādei. Mēs tos šeit neizmantosim, taču, ja vēlaties izveidot šo robotu, piemēram, API, kuru var izsaukt, izmantojot HTTP pieprasījumus, tas būtu noderīgi.

Darba sākšana

Atšķirībā no citām apmācībām es jums neteikšu klonēt GitHub repozitoriju. Pirmkārt, tāpēc, ka es vēlos, lai jūs mācītos un kodētu kopā ar mani. Otrkārt, kods nav tik liels, un jums ir jāsaprot, kā tas darbojas.

Šī ir funkcija, kas augšupielādē noteiktu videoklipu YouTube kanālā:

function upload(url, title, description, topics) { try { var video = UrlFetchApp.fetch(url); YouTube.Videos.insert({ snippet: { title: title, description: description, tags: topics }, status: { privacyStatus: "public", }, }, "snippet,status", video); return ContentService.createTextOutput("done") } catch (err) { return ContentService.createTextOutput(err.message) } }

YouTube API iespējošana

Pirms palaižat šo funkciju, jums jāiespējo YouTube Data API V3. Jums jāpārzina, kas ir API, tāpēc ļaujiet man mēģināt to izskaidrot ar piemēru.

Google Maps ir lielisks pakalpojums. Tam ir daudz pārsteidzošu rīku. Pieņemsim, ka vēlaties izmantot šīs savas lietotnes funkcijas, piemēram, lai izveidotu viedu digitālo ielūgumu karti ar iegultu karti.

Parasti, lai to izdarītu, nepieciešams Maps avota kods. Bet šis kods nav atvērtā koda. Un būtu stulbi kādam piešķirt pirmkodu tikai tāpēc, ka viņš vēlas izmantot kādu funkciju. Tur noder API.

API vai lietojumprogrammu saskarnes ir veids, kā izstrādātāji ļauj citiem izmantot jūsu lietotnes funkcijas, neatklājot avota kodu.

Šajā gadījumā YouTube API ļauj izstrādātājiem izmantot YouTube funkcijas savās lietotnēs vai kontrolēt kādu YouTube kanālu pēc autentifikācijas. Ja jums ir ideja par to, kas ir API, turpināsim.

Lai iespējotu YouTube datu API, dodieties uz Resursi> Papildu Google pakalpojumi . Jūs redzēsiet kaut ko līdzīgu zemāk. Pirms turpināt, tā var lūgt jūs piekrist Google Cloud noteikumiem, ja jums vēl nav izveidots projekts. Ja tiek lūgts, pieņem noteikumus.

Ritiniet līdz apakšai. Tiks parādīta YouTube Data API V3. Parasti tā izmantošanai ir jāizveido Google mākoņa projekts. Bet lietotnes skripts izveido pats sev projektu, tāpēc jums nav nepieciešams izveidot kaut ko atsevišķu. Iespējojiet to un aizveriet uznirstošo logu. Tagad jums ir labi iet.

Funkcijas palaišana

Tālāk norādītais kods (tāds pats kā iepriekš) ir jāielīmē teksta redaktorā un jāsaglabā no izvēlnes Fails> Saglabāt .

function upload(url, title, description, topics) { try { var video = UrlFetchApp.fetch(url); YouTube.Videos.insert({ snippet: { title: title, description: description, tags: topics }, status: { privacyStatus: "public", }, }, "snippet,status", video); return ContentService.createTextOutput("done") } catch (err) { return ContentService.createTextOutput(err.message) } }

Pēc tā saglabāšanas jums jādodas uz izvēlni Run> Run (Palaist)> Upload (Augšupielādēt) . Tas izskatīsies apmēram šādi:

Noklikšķinot uz augšupielādes pogas, jūs saņemsit šādu uznirstošo logu:

Tagad šeit parādās App Script lietderība. Šeit jūs varat piešķirt tai atļauju augšupielādēt videoklipus savā kontā. Tas parādīs jums brīdinājumus, ka lietotne nav verificēta, taču neuztraucieties, tas ir drošības solis, ko Google veic, lai novērstu ļaunprātīgas lietotnes.

Bet šeit jūs esat izstrādātājs, tāpēc varat ignorēt brīdinājumu un dot atļauju no pogas Papildu, kas atrodas apakšējā kreisajā stūrī. Tas prasīs jums divas atļaujas, kā parādīts:

Permission to manage your YouTube account is a serious permission. Though it's safe in this particular instance, never give this permission to any app you don't trust. It will give the app complete access to your YouTube account.

And this isn't just the case for YouTube. You should be extra careful before you allow sensitive scopes on any platform, like Twitter, Facebook, GitHub and other social sign-in methods.

After you give that permission, the function will be executed. But nothing will happen as we didn't specify what should be uploaded.

Here, you need to give values to the URL, title, description, and tags variables. Let us take a sample video for our use (remember those copyright issues?).

This is the modified upload() function:

function upload() { try { var video = UrlFetchApp.fetch("//www.w3schools.com/html/mov_bbb.mp4"); YouTube.Videos.insert({ snippet: { title: "Big Buck Funny", description: "This Is The Description", tags: ["funny"] }, status: { privacyStatus: "public", }, }, "snippet,status", video); return ContentService.createTextOutput("done") } catch (err) { return ContentService.createTextOutput(err.message) } }

You can Save it and Run the function again. You can see that we changed the URL to a video URL, the title and description were set, and the tags are also set as an array. You can also set privacyStatus to private for testing.

Let's see the results:

As I told you at the start of the tutorial, copyright infringement is a big deal. The above video was removed by YouTube within minutes of uploading.

So, find a good video source first. If you want to generate videos programatically, there are libraries like ffmpeg, but let's not discuss that here. The aim of this article was to create a bot and we did.

Bot that regularly uploads videos

Suppose you find a source for videos and want your bot to regularly upload videos. Google Apps Script has an inbuilt Cron service which will execute your function at regular intervals, like daily, or once a week. You can create a trigger from the dashboard:

You will get an option to add a trigger on the bottom right. The options will look something like this:

You can set the function to be called, the frequency, and other options. Thus we have successfully created a YouTube Uploader Bot.

This was just one use of Google Apps script – you can use it for other tasks like:

  • Modifying Google Forms
  • Creating extensions for Google Sheets
  • Creating Blogger posts programatically

You may try other projects too, There is a lot you can do with it.

Webdriver Torso

Varbūt jūs par to neesat dzirdējuši, bet šis robots (vai varbūt kāds pārcilvēks) salīdzinoši īsā laika posmā savā youtube kanālā ir augšupielādējis vairāk nekā 70 000 videoklipu. Lai gan tie ir procesuāli ģenerēti videoklipi, tas joprojām ir ļoti foršs.

Šie ir šī kanāla visskatītākie videoklipi:

Var redzēt, ka visvairāk skatījumu ir Eifeļa torņa nakts video (kas ir nelegāls). Pastāv sazvērestības teorijas, ka šis kanāls testēšanas vajadzībām pieder YouTube.

Jebkurā gadījumā neiedvesmojieties - ja augšupielādēsit tik daudz videoklipu, visticamāk, YouTube jūs apturēs.

Ja jums tas likās interesanti, varat apmeklēt šo rakstu, lai uzzinātu vairāk.

Atbilde uz manu iepriekšējo rakstu bija lieliska - paldies! Jūsu atsauksmes mani motivē rakstīt jaunas lietas. Apmeklējiet arī manu interneta mājas lapu theabbie.github.io.