Sådan oprettes en YouTube Uploader Bot ved hjælp af Google Apps Script

Når du hører ordet 'Bot', forestiller du dig sandsynligvis en robot, som den vises i filmene. De er også bots, snarere smarte. Men vi henviser til en anden slags bot her.

Vi kan definere en bot som et script, der kan bruges til at automatisere visse opgaver, som enten er kedelige eller vanskelige for mennesker. Der er gode og dårlige robotter, og der er en meget fin linje mellem dem.

Inden vi starter, lad mig fortælle dig en ting. Denne tutorial diskuterer kun den del, der involverer upload af videoer til YouTube. Vi bruger en prøvevideo her.

Hvis du opretter en bot, der uploader video regelmæssigt (som Webdriver Torso, som vi vil tale mere om i slutningen af ​​artiklen), har du brug for en kilde til videoen.

Også en advarsel : Sørg for at kontrollere ophavsretten til alle videoer, du uploader. Den version af bot, jeg oprettede, uploadede først andres videoer til YouTube - og du vil ikke tro, hvad der skete. Jeg fik en række copyrightkrav og strejker, og min kanal blev i sidste ende slettet.

Så i denne vejledning viser jeg dig, hvordan det er gjort. Men hvis du vil implementere det, skal du først finde en god kilde til videoer, som du kan uploade uden copyrightproblemer.

Hvorfor Google Apps Script?

Google Apps Script er en scriptplatform udviklet af google til kørsel af lette applikationer. Dens syntaks er baseret på JavaScript. Hvis du allerede kender Javascript, vil du finde det virkelig nemt.

Årsagen til, at vi bruger Google Apps Script, er, fordi det gør det virkelig nemt at oprette denne bot. Det har indbygget support til de fleste Google-produkter som Gmail, Sheets, Forms og Youtube. Og det er gratis.

Oversigt over Google Apps Script

Google Apps Script har en online editor og filsystem. Det har ikke brug for nogen implementering, du skal bare gemme din kode, og den kører.

Hvis du åbner Editoren til Apps Script, ser det sådan ud:

Ligesom enhver anden teksteditor har den et sidebjælke med en liste over filer, en menu og plads til at skrive kode. Kodefilerne har en .gs udvidelse (sandsynligvis til Google-script). Og vigtigst af alt skal al koden være inde i en eller anden funktion - anonym kode udføres ikke.

Der er to specielle funktioner, doPost()og doGet(). Som navnet antyder, bruges de til henholdsvis POST- og GET-anmodninger. Vi bruger dem ikke her, men hvis du vil oprette denne bot som en API, der kan kaldes ved hjælp af HTTP-anmodninger, ville det være nyttigt.

Kom godt i gang

I modsætning til andre selvstudier fortæller jeg dig ikke at klone et GitHub-arkiv. Først fordi jeg vil have dig til at lære og kode sammen med mig. For det andet er koden ikke så stor, og du skal forstå, hvordan den fungerer.

Dette er den funktion, der uploader en given video til en YouTube-kanal:

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

Aktivering af YouTube API

Før du kører denne funktion, skal du aktivere YouTube Data API V3. Du skal være fortrolig med, hvad en API er, så lad mig prøve at forklare det med et eksempel.

Google Maps er en god service. Det har masser af fantastiske værktøjer. Antag at du vil bruge disse funktioner i din app, lad os sige at bygge et smart digitalt invitationskort med et indlejret kort.

Normalt skal du bruge kildekoden til Maps for at gøre dette. Men den kode er ikke open source. Og det ville være dumt at give nogen kildekode, bare fordi de vil bruge en eller anden funktion. Det er her, en API er praktisk.

API'er eller applikationsprogrammeringsgrænseflader er en måde for udviklere at tillade andre at bruge din apps funktioner uden at afsløre kildekoden.

I dette tilfælde tillader YouTubes API udviklere at bruge YouTubes funktioner i deres apps eller til at kontrollere en YouTube-kanal efter godkendelse. Hvis du har en idé om, hvad en API er, lad os fortsætte.

For at aktivere YouTube Data API skal du navigere til Ressourcer> Avancerede Google-tjenester . Du vil se noget som nedenunder. Det kan bede dig om at acceptere Google Clouds vilkår, før du fortsætter, hvis du ikke allerede har et projekt oprettet. Hvis du bliver bedt om det, skal du acceptere vilkårene.

Rul ned til bunden. Du vil se YouTube Data API V3. Normalt skal du oprette et Google Cloud-projekt for at bruge det. Men App Script opretter et projekt for sig selv, så du behøver ikke oprette noget separat. Aktivér det, og luk pop op. Nu er du klar til at gå.

Kører funktionen

Du skal indsætte koden nedenfor (samme som ovenfor) i teksteditoren og gemme den fra menuen Filer> Gem .

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

After saving it, you have to navigate to the Run > Run function > Upload menu. It will look something like this:

On clicking the upload button, you will receive a popup like this:

Now this is where the usefulness of App Script becomes apparent. Here, you can give it permission to upload videos to your account. It will show you warnings that the app is not verified – but don't worry, that's a security step Google takes to prevent malicious apps.

But here, you are the developer, so you can ignore the warning and give permission from the Advanced button on the bottom left. It will ask you for two permissions, as shown:

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

Du har måske ikke hørt om det, men denne bot (eller måske en overmenneskelig) har uploadet mere end 70.000 videoer på sin youtube-kanal over en relativt kort periode. Og selvom de er proceduremæssigt genererede videoer, er det stadig meget sejt.

Dette er de mest viste videoer på denne kanal:

Du kan se, at Eiffeltårnet om natten-videoen (som er ulovlig) har flest visninger. Der er sammensværgelsesteorier om, at denne kanal ejes af YouTube til testformål.

Uanset hvad, lad dig ikke inspirere - hvis du uploader så mange videoer, vil YouTube sandsynligvis suspendere dig.

Hvis du fandt dette interessant, kan du besøge denne artikel for at vide mere.

Svaret på min tidligere artikel var fantastisk - tak! Din feedback motiverer mig til at skrive nye ting. Besøg også mit internethjem theabbie.github.io.