#!/usr/bin/env node /** * Direct Live Publishing Script for Facebook Page */ const USER_TOKEN = process.env.META_ACCESS_TOKEN || 'EAAM8GXpb76wBSCN6XYlYI5Vfje6F8DQDGkDfbnIhONMklZCBxlru8JptWdlScLTrSZCvTMyZAUHwjxC5Y96hKSiS6RmiKtxtYy8JEvVlnGZBpYG8U30ZBlPqgrR9PzBS6G0uRNRsd6Xdf4hh94N6R2qsix60YwNDq1ZCTImTSRn3ZCgJbZBZBZCpEZCRXkQSZB0kAZA9ZAkuYqXevLJZAD6OIyNT3kbangQCClH2FlZAAMusgJAWeXOmTdZCS6RZAmT4uk5DtybF0ZCluMZBZBSoi3pdb0zyZAgQKU'; const PAGE_ID = process.env.META_PAGE_ID || '61588173848643'; const message = `شركتك تحمل اسمك… وتطبيقك يحمل اسم غيرك؟ 🚘📱 كل رحلة ينفذها أسطولك اليوم تبني علامة شركة أخرى. في Tripz نطلق لك منصة نقل متكاملة باسمك، بلونك، وبشعارك خلال 30 يوماً فقط! 🔹 تطبيق الراكب 🔹 تطبيق السائق 🔹 لوحة التحكم و Dispatch ✅ بياناتك ملكك بعقد مكتوب ✅ شفافية مطلقة بأسعار معلنة ✅ محرك مجرّب وسريع منذ 2019 📊 احسب توفيرك السنوي: 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}) ...`); 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: pageDetails.token, message: message }) }); const data = await res.json(); console.log('Response from Meta:', JSON.stringify(data, null, 2)); } main();