Jak automaticky aktualizovat Facebook API token pro automatizaci

Facebook API long-lived token

Pokud ještě nepoužíváte mé skripty, tak si vytvořte kopii tohoto dokumentu a přečtěte si návod jak pracovat s mými skripty.

Potřebujete jeden hlavní skript a pak pro jednotlivé aktivity vám stačí už jen spouštět aktivity, které se mají vykonat. Pokud však nemáte, připravil jsem zjednodušenou verzi, která vrátí na řádek 2 sloupec 11 nový token.

V listu Overview vyplňte název vašeho reklamního účtu a další požadavky, které získáte z developers.facebook.com pokud ještě nemáte vyplněno.

Nyní si vytvořte nový skript, který budete spouštět 1x měsíčně. Nový skript, který bude aktualizovat token každý měsíc zkopírujte a spusťte.

Do spreadsheetId vložte ID z url hodnotu mezi lomítky

https://docs.google.com/spreadsheets/d/1PjfCBIs0qQHBNt4oCCaboYeTMmE-iuDB9sfdsdfuAu1X8XEoc/edit#gid=1757320828

function main() {
 //settings
 var mainSpreadsheetId = "1GWWcLWXfS1FqsfdiMYA1BMfjsBzrX3RfbEEBNdsfnJImBb3osdfiOI";
 var accountRow = 2;
  
  /*-----permissions---*/
  try{
    UrlFetchApp.fetch("www.test.cz");
    SpreadsheetApp.openById(spreadsheetId);
  }catch(e){}
  ;
  /*-------------------*/
       
  var mainSpreadsheet = SpreadsheetApp.openById(mainSpreadsheetId);
  var overviewSheet = mainSpreadsheet.getSheetByName("Overview");
  var clientData = overviewSheet.getDataRange().getValues();
  var facebookToken = clientData[1][10]
  var clientAppId = clientData[1][11]
  var clientSecretId = clientData[1][12]
  var facebookTokenUpdated = FBtokenActualization(clientAppId,clientSecretId,facebookToken).access_token;
  overviewSheet.getRange(2,11).setValue(facebookTokenUpdated);
}

function FBtokenActualization(clientAppId, clientSecretId, facebookToken){
  var url = 'https://graph.facebook.com/v10.0/oauth/access_token?grant_type=fb_exchange_token&client_id='
        + clientAppId
        + '&client_secret=' + clientSecretId
        + '&fb_exchange_token=' + facebookToken
  //Logger.log(url);
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
return data;
}

V případě problémů si přečtěte Facebook podporu.

Komentáře

Přidat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Vaše osobní údaje budou použity pouze pro účely zpracování tohoto komentáře.