I want to do the following (simple) thing: - write a PHP class that publishes messages to a page's feed
I have created an Facebook app, obtained an authorization token for the following actions:
scope=publish_stream,offline_access,read_stream,manage_pages
Everything seems ok, the message is published properly, the returned result is something like:
{"id":"pageid_newmessageid"}
However, the message doesn't get published on the wall of the specified page. Also, when I try to access https://graph.facebook.com/pageid/feed?access_token=token this message isn't there.
Any ideas why?
The PHP code:
<?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'));
?>
Daniel, i use this method in javascript and use the to: param to target where the post goes.
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'}
]
});
};