Como obtener datos de adsense con Google Apps Script


Hace poco estaba intentando mejorar un viejo proyecto de gestión de blogs añadiéndole la funcionalidad de obtener los ingresos de adsense para cada url.

El código no es complicado pero espero que os sirva de base para poder hacer los importadores de datos que queráis. El script se encarga de obtener los ingresos del último año desglosados por url, pero ya veréis que es muy fácil de modificar y ponerlo como vosotros necesitéis.

En el documento donde instaléis el código deberéis tener un pestaña que se llame 'Adsense' que es donde pondrá la información

function generateReport()
{
  var adClientId = "ca-pub-XXXXXXXXX"; >> AQUI VA TU IDENTIFICADOR DE ADSENSE
  // Prepare report.
  var today = new Date();
  var desde= new Date(today.getTime() - 365 * 24 * 60 * 60 * 1000); //Ultimo año

  var timezone = Session.getTimeZone();
  var startDate = Utilities.formatDate(desde, timezone, 'yyyy-MM-dd');
  var endDate = Utilities.formatDate(today, timezone, 'yyyy-MM-dd');

  var report = AdSense.Reports.generate(startDate, endDate, {
      filter: ['AD_CLIENT_ID==' + escapeFilterParameter(adClientId)],
      metric:['EARNINGS'],                    //Ingresos
      dimension: ['DOMAIN_NAME'],  //Url
      sort: ['-EARNINGS'],                      //Ordenado por orden decreciente de ingresos
  });

  if (report.rows)
 {
    var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = spreadsheet.getSheetByName("Adsense");

    var headers = report.headers.map(function(header) {
      return header.name;
    });
    sheet.appendRow(headers);
    sheet.getRange(2, 1, report.rows.length, headers.length)
        .setValues(report.rows);
  }
  else
  {
    Logger.log('No hay datos');
  }
}

function escapeFilterParameter(parameter)
{
   return parameter.replace('\\', '\\\\').replace(',', '\\,');
}

Espero que os sirva.

Cualquier duda que tengáis no vaciléis en ponerla en los comentarios.

Nos vemos

No hay comentarios:

Publicar un comentario

Tal vez te interese