发布到页面的提要 - 一切似乎都没问题,但帖子没有出现

时间:2011-09-20 15:23:16

标签: php facebook-graph-api

我想做以下(简单)事情: - 编写一个PHP类,将消息发布到页面的提要

我创建了一个Facebook应用程序,获得了以下操作的授权令牌:

scope=publish_stream,offline_access,read_stream,manage_pages

一切似乎都没问题,消息发布正确,返回的结果如下:

{"id":"pageid_newmessageid"}

但是,该消息未在指定页面的墙上发布。此外,当我尝试访问https://graph.facebook.com/pageid/feed?access_token=token时,此消息不存在。

任何想法为什么?

PHP代码:

<?php

class Facebook
{       
    /**
     * @var The page id to edit
     */
    private $page_id = 'pageid';    

    /**
     * @var the page access token given to the application above
     */
    private $page_access_token = 'token';   

    /**
     * @var The back-end service for page's wall
     */
    private $post_url = '';

    /**
     * Constructor, sets the url's
     */
    public function Facebook()
    {
        $this->post_url = 'https://graph.facebook.com/' . $this->page_id . '/feed';
    }

    /**
     * Manages the POST message to post an update on a page wall
     * 
     * @param array $data
     * @return string the back-end response
     * @private
     */
    public function message($data)
    {   
        // need token
        $data['access_token'] = $this->page_access_token;

        // init
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $this->post_url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        // execute and close
        $return = curl_exec($ch);
        curl_close($ch);

        // end
        print_r($return);
        return $return;        
    }
}

$facebook = new Facebook();

$facebook->message(array( 'message'     => 'Some messag', 
                          'link'        => 'http://www.google.com', 
                          'description' => 'Full description explaining whether the header'));
?>

1 个答案:

答案 0 :(得分:0)

丹尼尔,我在javascript中使用此方法并使用to:param来定位帖子的位置。

        function DBSthis() {
         FB.ui({ method: 'feed', 
    message: '',
        //caption: 'This is the Caption value.',
        //name: 'Testing JS feed dialog on ShawnsSpace',
        //link: 'http://shawnsspace.com?ref=link',
        to: '157690324292542',
        //description: 'Testing property links, and action links via Feed Dialog Javascript SDK',
        //picture: 'https://shawnsspace.com/ShawnsSpace.toon.nocolor..png',
        //properties: [{ text: 'Link Test 1', href: 'http://shawnsspace.com?ref=1'},
                    //{ text: 'Link Test 2', href: 'http://shawnsspace.com?ref=2'},
                        //{ text: 'Link Test 3', href: 'http://shawnsspace.com?ref=3'},
                        //{ text: 'Link Test 4', href: 'http://shawnsspace.com?ref=4'}
                        //],
        actions: [
        { name: 'Shawn', link: 'http://ShawnsSpace.com'}
        ]       
        });
        };