Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Facebook + Google Sheets: tokens förblir giltiga

Rickard Andersson Partner, Nodenordic.se

Dina Facebook-automatiseringar “går” oftast inte sönder. De slutar bara tyst fungera när en Page Access Token har löpt ut, och du märker det först efter att ett inlägg misslyckas eller att leads slutar synka.

Den här automatiseringen för förnyelse av Facebook-token drabbar marknadschefer först, men byråägare och drift/ops som underhåller kundsidor känner också av det. I stället för att jaga inloggningar varannan vecka har du en enda, aktuell token tillgänglig när dina flöden behöver den.

Det här n8n-flödet förnyar långlivade Page-tokens enligt schema och sparar de senaste värdena så att du slipper brandkårsutryckningar. Nedan ser du hur det körs, vad det sparar åt dig och vad du behöver för att koppla in det i din miljö.

Så fungerar automatiseringen

Hela n8n-flödet, från trigger till slutligt output:

n8n Workflow Template: Facebook + Google Sheets: tokens förblir giltiga

Problemet: utgångna Facebook-tokens skapar fel i dina automatiseringar

Facebook Page Access Tokens har en tendens att löpa ut vid sämsta möjliga tidpunkt. Ena dagen fungerar din lead-synk. Nästa dag uppdateras ingenting, din rapportering saknar rader och någon frågar varför kampanjen “stoppade”. Då sitter du i Facebook Developer Tools och försöker minnas vilken app som äger tokenen, vilken användare som skapade den och var du klistrade in den senast. Under tiden tickar kostnaden: missade leads, försenade svar och timmar som går åt till att städa behörigheter i stället för faktiskt marknadsarbete.

Det blir snabbt mycket. Här är var det oftast faller isär.

  • Du märker att tokenen gått ut först efter att ett inlägg, ett annonsflöde eller en lead-synk tyst misslyckas.
  • Tokens finns på för många ställen (ett dokument, en kollegas anteckningar, ett gammalt flöde), så du uppdaterar ett och glömmer resten.
  • Manuell förnyelse drar in dig i Facebook Developer Tools, vilket sällan går snabbt när du har bråttom.
  • När du hanterar flera sidor blir förnyelse sida för sida en återkommande underhållsuppgift som aldrig riktigt tar slut.

Lösningen: förnya Page-tokens enligt schema och spara senaste värdet

Det här flödet hanterar token-utgång på det tråkiga sättet, vilket är ärligt talat det bästa sättet. Det körs enligt schema (varannan månad som standard), byter din kortlivade Facebook-användartoken mot en långlivad användartoken och använder sedan den långlivade tokenen för att hämta listan över Facebook-sidor du hanterar. För varje sida begär det aktuell Page Access Token, plockar ut fälten du bryr dig om (token, sidnamn, sid-ID) och sparar dem i en tabell så att dina andra automatiseringar alltid kan hämta “senaste token”. Ingen Slack-paniken. Inget detektivarbete kring “varför stoppade det?”.

Flödet startar med en schemalagd trigger. Därefter hanterar HTTP-anrop tokenbytet och hämtningen av sidtokens. Till sist mappar n8n fälten och gör en upsert av varje sidas post i lagringen (som du kan peka mot en datatabell eller Google Sheets).

Det du får: automatisering vs. resultat

Exempel: så ser det ut i praktiken

Säg att du hanterar 6 Facebook-sidor och har 3 flöden som är beroende av en giltig Page-token (leadinsamling, publicering och rapportering). När en token löper ut lägger du normalt cirka 15 minuter på att hitta rätt app/användare, generera rätt värden och sedan uppdatera tokens i varje flöde, vilket blir ungefär 1–2 timmar per “incident”. Med den här automatiseringen lägger du kanske 20 minuter en gång på att sätta behörigheter i n8n, och sedan förnyar flödet tokens varannan månad automatiskt. Därefter läser dina andra automatiseringar bara den senaste tokenen från ett ställe.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Facebook Developer App för att generera client ID och secret.
  • Google Sheets för att lagra tokens i ett delat kalkylark.
  • Facebook-inloggningsuppgifter (client_id, client_secret, user_access_token, app_scoped_user_id från Facebook Developer Tools)

Kunskapsnivå: Medel. Du klistrar in uppgifter, testar API-anrop och bekräftar att kolumnerna i sheet/tabell matchar.

Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

En schemalagd körning startar allt. Flödet använder en n8n Schedule Trigger inställd på varannan månad, så tokenförnyelsen sker innan utgång blir ett problem.

Inloggningsuppgifter laddas en gång, konsekvent. I ett enda steg, “Assign Auth Variables”, anger du dina Facebook-appuppgifter och den initiala användartokenen, vilket håller allt samlat och enklare att underhålla.

Facebooks tokenbyte sker via HTTP-anrop. n8n anropar Facebooks endpoints för att byta den kortlivade användartokenen mot en långlivad användartoken och hämtar sedan listan över sidor du hanterar och begär en Page-token för var och en.

Tokens formateras och lagras där teamet kommer åt dem. Flödet delar upp sidlistan i individuella poster, mappar fälten token/namn/id och gör en upsert så att din “senaste token” alltid finns tillgänglig (i en n8n Data Table som standard, eller Google Sheets om du föredrar det).

Du kan enkelt justera schemat och var tokens lagras utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: Konfigurera schedule trigger

Det här arbetsflödet startar enligt ett schemalagt intervall och uppdaterar sedan Facebook-sidtokens.

  1. Lägg till eller öppna Scheduled Run Initiator.
  2. Ställ in schemaregeln så att den körs var 2 månad (noden använder ett months-intervall på 2).
  3. Koppla Scheduled Run Initiator till Assign Auth Variables.

Steg 2: Anslut Facebook auth-indata

Dessa variabler används av HTTP-förfrågningarna för att hämta och uppdatera långlivade tokens.

  1. Öppna Assign Auth Variables och ställ in följande fält:
  2. Ställ in client_id till [YOUR_ID].
  3. Ställ in client_secret till [CONFIGURE_YOUR_API_KEY].
  4. Ställ in user_access_token till [CONFIGURE_YOUR_TOKEN].
  5. Ställ in app_scoped_user_id till [YOUR_ID].
  6. Låt long_user_access_token vara mappad till {{ $json.body.access_token }}.
  7. Koppla Assign Auth Variables till Fetch Long User Token.

⚠️ Vanlig fallgrop: Ersätt platshållarvärdena i Assign Auth Variables med riktiga Facebook App-uppgifter och tokens, annars kommer HTTP-förfrågningarna att misslyckas.

Steg 3: Sätt upp förfrågningar för tokenhämtning

Dessa HTTP-förfrågningar byter användartoken mot en långlivad token och hämtar sedan sidlistan.

  1. Öppna Fetch Long User Token och ställ in URL till https://graph.facebook.com/v23.0/oauth/access_token.
  2. Aktivera Send Query och konfigurera query-parametrar:
  3. grant_type = fb_exchange_token
  4. client_id = {{ $json[' client_id'] }}
  5. client_secret = {{ $json[' client_secret'] }}
  6. fb_exchange_token = {{ $json.user_access_token }}
  7. Öppna Retrieve Page Catalog och ställ in URL till https://graph.facebook.com/v23.0/me/accounts.
  8. Ställ in query-parametern access_token till {{ $json.body.access_token }}.
  9. Bekräfta flödet Fetch Long User TokenRetrieve Page Catalog.

Steg 4: Hämta och mappa sidtokens

Det här avsnittet hämtar sidtokens, delar upp listan och mappar värdena för lagring.

  1. Öppna Request Page Token och ställ in URL till =https://graph.facebook.com/v23.0/{{ $('Assign Auth Variables').item.json.app_scoped_user_id }}/accounts.
  2. Ställ in Method till =GET och aktivera Send Query.
  3. Ställ in query-parametern access_token till {{ $('Fetch Long User Token').item.json.body.access_token }}.
  4. Koppla Retrieve Page CatalogRequest Page TokenExpand Records.
  5. I Expand Records ställer ni in Field to Split Out till body.data och Include till allOtherFields.
  6. Öppna Map Token Fields och mappa:
  7. access_token = {{ $json['body.data'].access_token }}
  8. name = {{ $json['body.data'].name }}
  9. id = {{ $json['body.data'].id }}

Steg 5: Konfigurera upsert till utdatatabellen

Lagra de uppdaterade tokens i er datatabell med en upsert-operation.

  1. Öppna Upsert Table Records och ställ in Operation till upsert med Match Type inställt på allConditions.
  2. Välj er måldatatabell i Data Table ID (ersätt [YOUR_ID]).
  3. Mappa kolumner:
  4. token = {{ $json.access_token }}
  5. id_page = {{ $json.id }}
  6. name_page = {{ $json.name }}
  7. Ställ in filtervillkoret id_page till {{ $json.id }} för att säkerställa matchning vid upsert.
  8. Bekräfta flödet Map Token FieldsUpsert Table Records.

Steg 6: Testa och aktivera ert arbetsflöde

Verifiera hela flödet från början till slut innan ni aktiverar schemalagda körningar.

  1. Klicka på Execute Workflow för att köra det manuellt.
  2. Verifiera att Fetch Long User Token returnerar en body.access_token och att Request Page Token returnerar en lista i body.data.
  3. Bekräfta att Upsert Table Records skriver eller uppdaterar rader i er datatabell med token, id_page och name_page.
  4. När allt fungerar, växla arbetsflödet till Active för att aktivera schemalagd körning.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Facebook Developer-uppgifter kan löpa ut eller sakna behörigheter. Om det uppstår fel, kontrollera appinställningar och tokenstatus i Facebook Developer Tools först.
  • Om du lägger till Wait-noder eller om Facebooks API svarar långsamt varierar körtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Skrivningar till Google Sheets kan misslyckas när rubrikerna i arket ändras. Om du byter namn på kolumner, uppdatera mappningen så att token, sidnamn och sid-ID fortfarande hamnar på rätt ställen.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för Facebook-tokenförnyelse?

Cirka 30 minuter om du redan har dina Facebook-appuppgifter.

Behöver jag kunna koda för att automatisera förnyelse av Facebook-token?

Nej. Du klistrar in uppgifter, kopplar konton och testkör en körning i n8n.

Är n8n gratis att använda för det här flödet för Facebook-tokenförnyelse?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in användning av Facebook API (oftast minimal för anrop som förnyar tokens).

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger obegränsat antal körningar men kräver grundläggande serverhantering.

Kan jag anpassa den här automatiseringen för Facebook-tokenförnyelse så att den bara sparar tokens för vissa sidor?

Ja, men du vill lägga filtret på rätt ställe. Efter att flödet har expanderat listan över sidor till individuella poster lägger du in ett filtersteg som bara behåller matchande sid-ID:n eller sidnamn. Låt sedan mappning och upsert fortsätta som vanligt, så att bara de sidor du bryr dig om hamnar i din tabell eller ditt Google Sheet.

Varför misslyckas min Facebook-anslutning i det här flödet?

Oftast beror det på utgångna eller ogiltiga uppgifter i värdena under “Assign Auth Variables”, särskilt den kortlivade user_access_token du börjar med. Generera den tokenen på nytt i Facebook Developer Tools och kör sedan flödet igen för att bekräfta att det kan byta den mot en långlivad användartoken. Ett annat vanligt problem är saknade behörigheter i Facebook-appen (eller hos användaren som skapade tokenen), vilket gör att sidtokens inte kan hämtas för vissa sidor. Om det bara fallerar för en kundsida, kontrollera att du faktiskt har administratörsrättigheter för den sidan under samma användare.

Hur många sidor kan den här automatiseringen för Facebook-tokenförnyelse hantera?

För de flesta små team fungerar det med dussintals sidor utan problem eftersom flödet bara gör några API-anrop per sida enligt schema.

Är den här automatiseringen för Facebook-tokenförnyelse bättre än att använda Zapier eller Make?

Ofta, ja, eftersom tokenförnyelseflöden brukar kräva HTTP-anrop i flera steg, datamappning och en pålitlig plats att lagra det senaste värdet. n8n hanterar den typen av logik snyggt, och med self-hosting betalar du inte per litet steg. Zapier eller Make kan fungera, men du lägger ofta mer tid på att brottas med “bara ett webbanrop till”-problemet och stegbegränsningar. Om din setup är enkel och du redan jobbar i de verktygen är de okej. Om du är osäker, prata med en automationsexpert så får du en rak rekommendation.

När det här väl rullar blir tokenförnyelse bakgrundsbrus. Dina Facebook-flöden fortsätter leverera, och du får tillbaka tiden till det arbete som faktiskt får kontot att växa.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal