Публикация в фиде страницы - все выглядит нормально, но сообщение не появляется - PullRequest
1 голос
/ 20 сентября 2011

Я хочу сделать следующее (простое): - написать класс 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 голосов
/ 27 сентября 2011

Даниэль, я использую этот метод в 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'}
        ]       
        });
        };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...