gpt4 book ai didi

javascript - 以管理员身份发布 Facebook 页面(也有页面 access_token)

转载 作者:行者123 更新时间:2023-12-02 14:05:48 25 4
gpt4 key购买 nike

首先我很抱歉发布旧帖子,但我不知道为什么我没有正确地发布。

我以管理员身份将新提要发布到 Facebook 粉丝页面。我之前搜索过很多帖子,并根据他们的评论进行了修复。

  • 我拥有帖子页面的正确权限。
  • 我有页面的 PAGE access_token。
  • 我曾多次尝试退出登录。
  • 我已尝试以页面管理员身份在页面中手动发布提要(成功)。

但我仍然在页面中以访客身份发帖,而不是管理员。

这些是我的功能:

    var page_id = [
'88290XXXXXX39694', //fan page 1
'17537XXXXXX02244', //fan page 2
];

var permission = 'publish_actions, publish_pages, manage_pages, user_events, publish_stream';

function postFB(id, title, desc) {

var title = title;
var desc = desc;
var body = title+"/n"+desc;
var video_link = 'https://youtu.be/'+id+'';

for(var i = 0; i<= page_id.length; i++ )
{
var accessToken = "";

FB.api('/'+page_id[i]+'?fields=access_token', function(response) {
accessToken = response.access_token;
});

FB.api('/'+page_id[i]+'/feed', 'post', {
message: body,
link: video_link,
access_token: accessToken
}, function(response) {
if (!response || response.error) {
console.log(response);
} else {
alert('Post ID: ' + response.id);
}
});
}
};

function publish(id, title, decs)
{
FB.login(function(response) {
if (response.authResponse) {
//Log auth permissions (in the response)
console.log(response);
FB.api('/me', function(response) {
console.log('Successful login for: ' + response.name);
// document.getElementById('status').innerHTML =
// 'Thanks for logging in, ' + response.name + '!';
});

postFB(id, title, decs);

} else {
console.log('User cancelled login or did not fully authorize.');
}
}, {
scope: permission,
return_scopes: true
});
};

对我的问题有什么建议吗?

最佳答案

FB.api 是异步的,需要等待回调:

FB.api('/' + page_id[i] + '?fields=id,access_token', (response) => {
FB.api('/' + response.id + '/feed', 'post', {
message: body,
link: video_link,
access_token: response.access_token
}, (response) => {
if (!response || response.error) {
console.log(response);
} else {
console.log('Post ID: ' + response.id);
}
});
});

您需要的唯一权限是manage_pagespublish_pages。我还使用了箭头函数(因为 ES6 在这里)。

循环还有另一个大问题,您在 API 调用中使用“i”变量 - 由于回调是异步的,因此当它实际命中回调函数时它不会相同。无论如何,您不应该在循环中大量发布,请确保它适用于一页。

关于javascript - 以管理员身份发布 Facebook 页面(也有页面 access_token),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40080236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com