如何从php服务器脚本自动在Facebook页面上发布?

时间:2012-10-09 10:13:03

标签: php facebook-graph-api facebook-access-token

我的客户有一个电子商务网站,他们销售他们的产品,他们也有该网站的Facebook页面。我希望在产品价格降低或新产品推出时在该页面上发布墙贴。但我想让这个自动化,所以我想授权facebook自动,意味着我不想要任何登录对话框。脚本应该授权自己。现在我使用的代码如下,但它要求我登录。并告诉我哪种方法好(容易)发布页面墙贴?

require 'API_Library/Facebook/src/facebook.php';
 $page_id = '111111111111111';
 $appId = '111111111111111';
 $appSecret = 'aaaaaaaaaaaaaaaaaaaaa22222222222';

 $facebook = new Facebook(array(
             'appId' => $appId,
             'secret' => $appSecret,
             'cookie' => true
         ));
 $session = $facebook->getAccessToken();

 $me = NULL;

 if($session)
 {
     try
     {
         $me = $facebook->api('/me');
         $facebook->api('me/feed', 'post', array(
             'message' => 'Hello World!'
         ));
     }
     catch(FacebookApiException $e)
     {
         echo $e->getMessage();
     }
 }

输出: (#200)用户尚未授权应用程序执行此操作

1 个答案:

答案 0 :(得分:1)

为了向页面发布内容,您需要使用应用程序对页面的管理员进行身份验证。未经身份验证,您无法发布到页面。因此,在您自动设置之前,需要进行一些用户交互。

该过程如下:

  1. 设置Facebook应用以获取应用ID和应用秘密 - 您需要此信息来查询API并将更新发布到页面
  2. 作为页面管理员,使用manage_pages权限登录您的应用。
  3. 登录后,对/me/accounts的API调用将为您提供访问该页面并发布更新的access_token
  4. 使用页面accesss_token,您可以使用/{page_id}/feed
  5. 发布更新

    希望这有帮助。