1

可能重复:
Facebook Graph Api - 以管理员身份发布到粉丝页面

我想在我的网站上有一个表单,我可以在其中提交博客文章,然后将相同的博客文章发送到我在 facebook 上的页面。

我的页面是:https ://www.facebook.com/foreveraloneminecraft

我希望它像我已登录并手动发布一样发布它(就像那里的所有其他帖子一样)。

我一直在到处搜索,我发现的所有内容要么从未实际发布过任何内容,要么引发错误。

这是我在搜索完之后得到的:

<?php
include('core/init.inc.php');
require_once('libs/parser.php'); // path to Recruiting Parsers' file
$parser = new parser; //  start up Recruiting Parsers

if(isset($_POST['submit'], $_POST['user'], $_POST['title'], $_POST['body'])
{
    //--- Facebook Posting ------
    require_once('libs/facebook/facebook.php');
    $appid = '286964398044671';
    $appsecret = 'myappsecret';
    $pageid = '215852885143861';
    $token = 'mytoken';

    // Create our Application instance (replace this with your appId and secret).
    $facebook = new Facebook(array(
      'appId'  => $appid,
      'secret' => $appsecret,
    ));

    // Get the current access token
    //$token = $facebook->getAccessToken();

    //Information that makes up the facebook page post
    $attachment = array(
            'access_token' => $token,
            'message' => $_POST['body'], 
            'link'    => 'http://hgs1957.hostedd.com/news.php',
            'picture' => 'http://hgs1957.hostedd.com/images/foreverAloneMCguy.png',
            'name'    => $_POST['title'],
            'description'=> 'Latest news for foreveralonemc.com.'
    );

    //Try to post to the facebook page
    try{
    $res = $facebook->api('/'.$pageid.'/feed','POST',$attachment);

    } catch (Exception $e){

        echo $e->getMessage();
    }

    //Add the post to the sql database of posts
    //add_post($_POST['user'], $_POST['title'], $_POST['body']);

    //Redirect to news feed
    header('Location: news.php');
    die();
}
?>

我使用令牌中的 appsecret 是我在使用https://developers.facebook.com/tools/explorer/时获得的权限:publish_stream、status_update、manage_pages、publish_actions、offline_access 尝试后它似乎发布到页面墙,但我不是页面或管理员。

任何人都知道这只是一个错误还是我做错了什么?

4

1 回答 1

1

您应该在过期后重新登录您的应用程序以更新和存储新的访问令牌。我希望会对你有所帮助。

于 2012-12-15T12:21:51.563 回答