【发布时间】:2011-09-20 15:23:15
【问题描述】:
我想做以下(简单的)事情: - 编写一个将消息发布到页面提要的 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'));
?>
【问题讨论】: