Perl Facebook :: Graph Post to Facebook Page as Page,而不是Admin

时间:2013-12-07 06:29:02

标签: facebook perl facebook-graph-api perl-module

使用Perl模块,Facebook :: Graph,我创建了一些基本的perl代码,可以发布到我自己的墙上。我可以在自己的墙上分享照片。我还可以将一条简单的留言信息发布到我作为管理员的其中一个页面。但是,当我尝试将照片发布到页面时,它会像我一样发布,而不是作为页面发布。

以下是我发布到Facebook页面的示例代码。我需要它作为页面发布,而不是像我一样。

# previously, I obtained my Page's accesstoken, and other credentials
# including the Facebook Page ID

my $fb = Facebook::Graph->new(
    app_id  =>      $facebook_application_id,
    secret  =>      $facebook_application_secret
);

$fb->access_token($facebook_accesstoken);

my $rstring = $fb
    ->add_photo
    ->to($facebookPageID)
    ->set_message('Look at this really cool photo!')
    ->set_source('./raw_image_example.jpg')
    ->publish
    ->as_string;

print "$rstring\n\n";

我正在试图弄清楚如何在Facebook页面的墙上创建帖子,好像它是在页面上发布的,而不是由我发布。

我正试图通过位于此处的CPAN模块Facebook :: Graph来做到这一点:http://metacpan.org/pod/Facebook::Graph

对于我的生活,我不能想到这一点。任何帮助都会受到欢迎!

1 个答案:

答案 0 :(得分:1)

我遇到了同样的麻烦,所以让我分享我一步一步做的事情,这样可能会让其他人受益:

  1. 在访问developers.facebook.com创建应用之后,您 转到https://developers.facebook.com/tools/explorer/
  2. 在名为“Graph API Explorer”的顶层菜单上,选择应用程序 你刚刚创建了
  3. 然后,在右侧,还有另一个名为“Get 令牌“,您在其中选择”获取访问令牌“,然后弹出一个窗口 将出现,你到扩展 权限选项卡,然后选中“publish_pages”和“manage_pages” 选项并单击“获取访问令牌”。它会弹出一个窗口 要求您确认是否要授予此应用的访问权限。它会 产生一个长令牌。

  4. 然后,再次选择菜单Get Token,您将在此处找到 菜单您管理的页面列表,选择您想要的页面 它将显示其相关的访问令牌。

  5. 现在收到的令牌只是暂时的,比如2个小时左右。 你想要的东西可以持续60天并可以更新,所以从你的 服务器你做一个卷曲请求: https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id= $ facebook_application_id&安培; client_secret = $ facebook_application_secret&安培; fb_exchange_token = $ facebook_accesstoken

    Facebook将输出如下内容:

  6. =的access_token&ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ放大器;期满= 5184971

    1. 然后,您可以使用精细代码发布为您的页面。
    2. 我希望这会有所帮助。