Facebook OpenGraph 3.0使用PHP发布到FB页面
我不确定哪里出了问题,但需要从我的网站发布到我的Facebook页面 ~fbautopost.phpFacebook OpenGraph 3.0使用PHP发布到FB页面,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我不确定哪里出了问题,但需要从我的网站发布到我的Facebook页面 ~fbautopost.php require_once("Facebook/facebook.php"); class FacebookPost { var $consumer; var $token; var $method; var $http_status; var $last_api_call; var $callback; var $connection; var $access_token; functi
require_once("Facebook/facebook.php");
class FacebookPost
{
var $consumer;
var $token;
var $method;
var $http_status;
var $last_api_call;
var $callback;
var $connection;
var $access_token;
function __construct($data)
{
$config = array();
$config['appId'] = $data['consumer_key'];
$config['secret'] = $data['consumer_secret'];
$pageID = $data['page_ID'];
$this->connection = new Facebook($config);
}
function share($title, $targetUrl, $imgUrl, $description, $access_token)
{
$this->connection->setAccessToken($access_token);
$params["access_token"] = $access_token;
if(!empty($title))
{
$params["message"] = $title;
$params["name"] = $title;
}
if(!empty($targetUrl))
{
$params["link"] = $targetUrl;
}
if(!empty($imgUrl))
{
$params["picture"] = $imgUrl;
}
if(!empty($description))
{
$params["description"] = $description;
}
// post to Facebook
try
{
$ret = $this->connection->api('/' .$pageID . '/feed/', 'post', $params);
}
catch(Exception $e)
{
$e->getMessage();
}
return true;
}
function getLoginUrl($params)
{
return $this->connection->getLoginUrl($params);
}
function getContent($url)
{
$ci = curl_init();
/* Curl settings */
curl_setopt($ci, CURLOPT_URL, $url);
curl_setopt($ci, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ci, CURLOPT_HEADER, false);
curl_setopt( $ci, CURLOPT_CONNECTTIMEOUT, 10 );
curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ci);
curl_close ($ci);
return $response;
}
}
~post.php
include('fbautopost.php');
$access_token = 'MY_ACCESS_TOKEN';
$facebookData = array();
$facebookData['consumer_key'] = 'MY_APP_ID';
$facebookData['consumer_secret'] = 'MY_SECRET_KEY';
$facebookData['page_ID'] = 'MY_PAGE_ID';
$title = 'Post Title';
$description = 'This is a test post';
$facebook = new FacebookPost($facebookData);
$facebook->share($title, $description, $access_token);
我还没有停止开发该应用程序,但作为管理员,我没有在页面上看到任何测试帖子
有可能我没有获得正确的访问令牌??从图形资源管理器中,我选择我的应用程序,然后获取具有管理页面和发布页面权限的用户令牌。我也尝试过使用页面标记。两者都不起作用。我的代码是错误的,还是我遗漏了什么
TIA问题是我需要一次_('Facebook/autoload.php'),而不是我的Facebook.php。如果有任何错误,您应该从API调用中获得错误响应。