@CanalQb

Blogger - Exportando nomes e links de Post para um Google Sheet




Script para importar titulos e links do seu Blogger (Blogspot) para Sua Planilha no Google Docs.
// Função para listar os posts do blog e colocá-los na planilha
function listarPostsDoBlog() {
  var apiKey = "AIzaBLABLABLABLABLABLAMkDLyuuSU";
  var blogId = "5982274115355506187";
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getSheetByName("Blogger"); // Substitua "Blogger" pelo nome da sua aba de retorno do Blogger

  var existingData = sheet.getDataRange().getValues();
  var existingLinks = existingData.slice(1).map(row => row[1].toString()); // Ignorar o cabeçalho e obter apenas os links existentes

  var allPosts = [];
  var pageToken = null;

  // Faz solicitações à API do Blogger até que todos os posts sejam obtidos
  do {
    var url = "https://www.googleapis.com/blogger/v3/blogs/" + blogId + "/posts?key=" + apiKey;
    if (pageToken) {
      url += "&pageToken=" + pageToken;
    }

    var response = UrlFetchApp.fetch(url);
    var responseData = JSON.parse(response.getContentText());

    if (responseData.items && responseData.items.length > 0) {
      // Adiciona os posts à lista de todos os posts
      allPosts = allPosts.concat(responseData.items);
    }

    // Atualiza o token da próxima página
    pageToken = responseData.nextPageToken;
  } while (pageToken);

  var newData = [];

  // Percorre a lista de todos os posts e extrai os títulos e links
  for (var i = 0; i < allPosts.length; i++) {
    var postTitle = allPosts[i].title;
    var postLink = allPosts[i].url;

    // Verifica se o link ou título já existe na planilha
    if (!existingLinks.includes(postLink)) {
      newData.push([postTitle, postLink]);
    }
  }

  // Verifica se há novos posts para adicionar à planilha
  if (newData.length > 0) {
    // Adiciona os novos dados na planilha, mantendo os dados existentes
    sheet.getRange(existingData.length + 1, 1, newData.length, newData[0].length).setValues(newData);
  } else {
    // Caso não haja novos posts, mostra uma mensagem na planilha
    sheet.getRange(1, 1).setValue("Nenhum post novo encontrado.");
  }
}
Dica coloque o acionador para cada 12 horas.

Caminho para o blogId


Caminho para o apiKey
Crie um projeto, adicione e ative uma API blogger


Crie uma API