From 6d66f33bc3db3e261da9959f47ef80e76a36b61d Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Fri, 24 Jul 2026 16:07:06 +0300 Subject: [PATCH] Dynamic Page ID match --- scripts/publish-now.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/scripts/publish-now.js b/scripts/publish-now.js index 134edf4..06775ec 100644 --- a/scripts/publish-now.js +++ b/scripts/publish-now.js @@ -18,33 +18,32 @@ const message = `شركتك تحمل اسمك… وتطبيقك يحمل اسم 📊 احسب توفيرك السنوي: https://tripz-egypt.com/apps/ 💬 تواصل معنا عبر واتساب: https://wa.me/962798583052`; -async function getPageAccessToken(userToken, targetPageId) { +async function getPageDetails(userToken, targetPageId) { try { const url = `https://graph.facebook.com/v19.0/me/accounts?access_token=${userToken}`; const res = await fetch(url); const data = await res.json(); - if (data.data && Array.isArray(data.data)) { + if (data.data && Array.isArray(data.data) && data.data.length > 0) { const pageObj = data.data.find(p => p.id === targetPageId) || data.data[0]; if (pageObj && pageObj.access_token) { console.log(`Found Page Access Token for Page: ${pageObj.name} (${pageObj.id})`); - return pageObj.access_token; + return { token: pageObj.access_token, pageId: pageObj.id, pageName: pageObj.name }; } } } catch (e) {} - return userToken; + return { token: userToken, pageId: targetPageId, pageName: 'Default' }; } async function main() { - console.log('Publishing post to Facebook Page', PAGE_ID, '...'); + const pageDetails = await getPageDetails(USER_TOKEN, PAGE_ID); + console.log(`Publishing post to Facebook Page: ${pageDetails.pageName} (${pageDetails.pageId}) ...`); - const tokenToUse = await getPageAccessToken(USER_TOKEN, PAGE_ID); - - const url = `https://graph.facebook.com/v19.0/${PAGE_ID}/feed`; + const url = `https://graph.facebook.com/v19.0/${pageDetails.pageId}/feed`; const res = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ - access_token: tokenToUse, + access_token: pageDetails.token, message: message }) });