Update codebase
This commit is contained in:
+20
-26
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user