我想发布到名为XY的页面,它应该直接显示在页面上,而不是来自其他用户(管理员)的发布。这是我从http://qscripts.blogspot.de/2011/02/post-to-your-own-facebook-account-from.html改编的代码,但是这个代码会发布到其他用户而不是主页面的区域。如果我用“我”替换页面ID号,它会发布到管理员页面并正确地发布到主区域。
#!/usr/bin/perl -I/opt/ActivePerl-5.16/site/lib/
# http://qscripts.blogspot.de/2011/02/post-to-your-own-facebook-account-from.html
use strict;
use warnings;
use open qw(:std :utf8);
use LWP::Simple;
use YAML;
use JSON;
use URI;
use utf8;
my $access_token = 'top secret';
graph_api('1484559088426611/feed', {
access_token => $access_token,
message => 'Hello World! I’m posting Facebook updates from a script!',
description => 'You want to create a script to read messages and post status updates to your own '
. 'Facebook account, but you find the official documentation confusing and '
. 'you aren’t sure where to start. Search no more because here you’ll find '
. 'the easiest way to do just this.',
method => 'post'
});
exit 0;
sub graph_api {
my $uri = new URI('https://graph.facebook.com/' . shift);
$uri->query_form(shift);
my $resp = get("$uri");
return defined $resp ? decode_json($resp) : undef;
}
答案 0 :(得分:4)
在页面上发布时,如果您使用用户/管理员的访问令牌,帖子将以用户/管理员身份发布,但不会以页面本身的形式发布。
要在页面上作为网页发布,您应该使用page access token。要获取网页访问令牌,您需要获得权限manage_pages
,然后才能拨打/{user-id}/accounts
。这样您就可以获得页面的访问令牌。
现在好处是你可以拥有永不过期的页面访问令牌!我已经解释了这里的步骤:https://stackoverflow.com/a/18322405/1343690
希望它有所帮助。祝你好运!