Assim como qualquer outro editor de texto, possui uma barra lateral com lista de arquivos, um menu e espaço para escrever código. Os arquivos de código têm uma extensão .gs (provavelmente para script do Google). E o mais importante, todo o código deve estar dentro de alguma função – o código anônimo não será executado.
Existem duas funções especiais, doPost() e doGet(). Como o nome sugere, eles são usados para lidar com solicitações POST e GET, respectivamente. Não os usaremos aqui, mas se você deseja criar este bot como uma API que pode ser chamada usando solicitações HTTP, seria útil.
Começando
Ao contrário de outros tutoriais, não vou pedir para clonar um repositório GitHub. Primeiro, porque quero que você aprenda e codifique comigo. Em segundo lugar, o código não é tão grande e você precisa entender como ele funciona.
Esta é a função que carrega um determinado vídeo para um canal do YouTube:
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)
}
}Ativando API do YouTube
Antes de executar esta função, você deve habilitar a API de dados do YouTube V3. Você deve estar familiarizado com o que é uma API, então deixe-me tentar explicar isso com um exemplo.
O Google Maps é um ótimo serviço. Tem muitas ferramentas incríveis. Suponha que você queira usar esses recursos em seu aplicativo, digamos, para construir um cartão de convite digital inteligente com um mapa incorporado.
Normalmente, para fazer isso você precisa do código-fonte do Maps. Mas esse código não é de código aberto. E seria tolice fornecer o código-fonte a alguém apenas porque deseja usar algum recurso. É aí que uma API se torna útil.
APIs ou interfaces de programação de aplicativos são uma forma de os desenvolvedores permitirem que outros usem os recursos do seu aplicativo sem divulgar o código-fonte.
Nesse caso, a API do YouTube permite que os desenvolvedores usem os recursos do YouTube em seus aplicativos ou controlem algum canal do YouTube após a autenticação. Se você tem uma ideia do que é uma API, vamos continuar.
Para ativar a API de dados do YouTube, navegue até Recursos> Serviços avançados do Google. Você verá algo como o abaixo. Pode ser que você aceite os termos do Google Cloud antes de prosseguir, caso ainda não tenha um projeto configurado. Se solicitado, aceite os termos.
Vá até o final. Você verá a API de dados do YouTube V3. Normalmente, você precisa criar um projeto do Google Cloud para usá-lo. Mas o App Script cria um projeto para si mesmo, então você não precisa criar algo separado. Habilite-o e feche o popup. Agora você está pronto para ir.
Executando a função
Você deve colar o código fornecido abaixo (o mesmo que acima) no editor de texto e salvá-lo do Arquivo> Salvar cardápio.
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)
}
}Depois de salvá-lo, você deve navegar até o Executar> Executar função> Upload cardápio. Vai parecer algo assim:
Ao clicar no botão de upload, você receberá um pop-up como este:
Agora, é aqui que a utilidade do App Script se torna aparente. Aqui, você pode dar permissão para enviar vídeos para sua conta. Ele mostrará avisos de que o aplicativo não foi verificado – mas não se preocupe, essa é uma etapa de segurança que o Google executa para evitar aplicativos maliciosos.
Mas aqui, você é o desenvolvedor, então pode ignorar o aviso e dar permissão no botão Avançado no canto inferior esquerdo. Ele solicitará duas permissões, conforme mostrado:
A permissão para gerenciar sua conta do YouTube é uma permissão séria. Embora seja seguro nesta instância específica, nunca dê essa permissão a nenhum aplicativo em que você não confia. Isso dará ao aplicativo acesso completo à sua conta do YouTube.
E este não é apenas o caso do YouTube. Você deve ter muito cuidado antes de permitir escopos confidenciais em qualquer plataforma, como Twitter, Facebook, GitHub e outros métodos de login social.
Depois de conceder essa permissão, a função será executada. Mas nada acontecerá, pois não especificamos o que deve ser carregado.
Aqui, você precisa fornecer valores para as variáveis de URL, título, descrição e tags. Deixe-nos pegar um vídeo de amostra para nosso uso (lembra das questões de direitos autorais?).
Este é o modificado upload() função:
function upload() {
try {
var video = UrlFetchApp.fetch("https://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)
}
}Você pode salvá-lo e executar a função novamente. Você pode ver que alteramos o URL para um URL de vídeo, o título e a descrição foram definidos e as tags também estão definidas como uma matriz. Você também pode definir privacyStatus como privado para teste.
Vamos ver os resultados:
Como eu disse no início do tutorial, a violação de direitos autorais é um grande problema. O vídeo acima foi removido pelo YouTube minutos após o envio.
Portanto, encontre primeiro uma boa fonte de vídeo. Se você deseja gerar vídeos de maneira programática, existem bibliotecas como ffmpeg, mas não vamos discutir isso aqui. O objetivo deste artigo era criar um bot e assim o fizemos.
Bot que envia vídeos regularmente
Suponha que você encontre uma fonte para vídeos e queira que seu bot envie vídeos regularmente. O Google Apps Script tem um serviço Cron integrado que executará sua função em intervalos regulares, como diariamente ou uma vez por semana. Você pode criar um gatilho no painel:
Você terá a opção de adicionar um gatilho no canto inferior direito. As opções serão parecidas com estas:
Você pode definir a função a ser chamada, a frequência e outras opções. Assim, criamos com sucesso um YouTube Uploader Bot.
Este foi apenas um uso do script do Google Apps – você pode usá-lo para outras tarefas como:
- Modificação do Formulários Google
- Criação de extensões para planilhas do Google
- Criação de postagens do Blogger de maneira programática
Você pode tentar outros projetos também. Há muito que você pode fazer com isso.
Webdriver Torso
Você pode não ter ouvido falar sobre isso, mas este bot (ou talvez um super-humano) carregou mais de 70.000 vídeos em seu canal do youtube em um período de tempo relativamente curto. E embora sejam vídeos gerados por procedimentos, ainda é muito legal.
Estes são os vídeos mais vistos neste canal:
Você pode ver que o vídeo da Torre Eiffel à noite (o que é ilegal) tem o maior número de visualizações. Existem teorias conspiratórias de que este canal é propriedade do YouTube para fins de teste.
De qualquer forma, não se inspire – se você enviar tantos vídeos, o YouTube provavelmente irá suspendê-lo.
Se você achou isso interessante, você pode visitar Este artigo Para saber mais.
A resposta ao meu artigo anterior foi ótima – obrigado! Seu feedback me motiva a escrever coisas novas. Ademais, visite minha casa na Internet theabbie.github.io.