diff --git a/scripts/publish-now.js b/scripts/publish-now.js index 7e8aab3..fa9dfce 100644 --- a/scripts/publish-now.js +++ b/scripts/publish-now.js @@ -18,40 +18,34 @@ const message = `شركتك تحمل اسمك… وتطبيقك يحمل اسم 📊 احسب توفيرك السنوي: https://tripz-egypt.com/apps/ 💬 تواصل معنا عبر واتساب: https://wa.me/962798583052`; -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) && data.data.length > 0) { - console.log('Available Pages for Token:', data.data.map(p => `${p.name} (${p.id})`).join(', ')); - const pageObj = data.data.find(p => p.id === targetPageId); - if (pageObj && pageObj.access_token) { - console.log(`Found matching Page Token for: ${pageObj.name} (${pageObj.id})`); - return { token: pageObj.access_token, pageId: pageObj.id, pageName: pageObj.name }; - } else { - console.log(`Target Page ID ${targetPageId} not found in token permissions. Using: ${data.data[0].name} (${data.data[0].id})`); - return { token: data.data[0].access_token, pageId: data.data[0].id, pageName: data.data[0].name }; - } - } - } catch (e) {} - return { token: userToken, pageId: targetPageId, pageName: 'Default' }; -} - async function main() { - const pageDetails = await getPageDetails(USER_TOKEN, PAGE_ID); - console.log(`Publishing post to Facebook Page: ${pageDetails.pageName} (${pageDetails.pageId}) ...`); + console.log('Publishing post to Facebook Page via Page Token...'); - const url = `https://graph.facebook.com/v19.0/${pageDetails.pageId}/feed`; - const res = await fetch(url, { + // Try direct /me/feed endpoint first (works for Page Access Token) + let res = await fetch(`https://graph.facebook.com/v19.0/me/feed`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ - access_token: pageDetails.token, + access_token: USER_TOKEN, message: message }) }); - const data = await res.json(); + + let data = await res.json(); + + if (data.error && PAGE_ID) { + console.log('Direct /me/feed failed, trying Page ID endpoint:', PAGE_ID); + res = await fetch(`https://graph.facebook.com/v19.0/${PAGE_ID}/feed`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + access_token: USER_TOKEN, + message: message + }) + }); + data = await res.json(); + } + console.log('Response from Meta:', JSON.stringify(data, null, 2)); }