Files
tripz-llc/scripts/publish-facebook-post.js
T
2026-07-24 16:17:10 +03:00

44 lines
1.7 KiB
JavaScript

#!/usr/bin/env node
/**
* Publish Post to Facebook Page via Meta Graph API v19.0
*/
const ACCESS_TOKEN = process.env.META_ACCESS_TOKEN || 'EAAM8GXpb76wBSP6SbqQ1ZAHCcmuPbk8J145t5ZBhVaQJByjEh3GzzpZAZApfVAf81lsiQPFK6oSlWwaZAbletLjQ2nEr1q8zNuNo0XQSbi31jf0VJEHwsW9ksosNlZBKP9KzPlgqt3wm7q5o1wmyUKFnnVu91d3z1b1CfKSSwQk1AfIo0HXZClt5eDL83C5G6ff7eH9CNy3oKUCQC9Wf239IJpYf2YbmvvXADoxKwvy0FTfMZCK0hPn4JMMkuGkqqQJDjDwSwEpszD3diCEGfWrN';
const PAGE_ID = process.env.META_PAGE_ID || '61588173848643';
async function publishPost(message, imageUrl = null) {
if (!PAGE_ID) {
throw new Error('META_PAGE_ID (Page ID) is required to publish a post.');
}
const endpoint = imageUrl ? `${PAGE_ID}/photos` : `${PAGE_ID}/feed`;
const url = new URL(`https://graph.facebook.com/v19.0/${endpoint}`);
url.searchParams.append('access_token', ACCESS_TOKEN);
const payload = imageUrl ? { caption: message, url: imageUrl } : { message };
const res = await fetch(url.toString(), {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
});
const data = await res.json();
if (data.error) {
throw new Error(`Meta Graph API Error: ${data.error.message}`);
}
return data;
}
if (require.main === module) {
const pageId = process.argv[2] || PAGE_ID;
const msg = process.argv[3] || 'اختبار النشر التلقائي عبر Tripz AI Agent';
if (!pageId) {
console.error('Please provide Page ID as first parameter: node scripts/publish-facebook-post.js <PAGE_ID> "[Message]"');
process.exit(1);
}
publishPost(msg).then(res => console.log('Post published successfully:', res)).catch(err => console.error(err.message));
}
module.exports = { publishPost };