我想做以下(简单)事情: - 编写一个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'));
?>
答案 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'}
]
});
};