我正在使用最新版本的Facebook的PHP SDK。我有e页面,我只是管理员。我尝试使用Graph api发布页面更新。这是我的代码:
import android.widget.EditText;
import android.widget.RadioButton;
和最后一部分:
//index.php
$fb = new Facebook\Facebook([
'app_id' => $log_json['app_id'],
'app_secret' => $log_json['app_secret'],
'default_graph_version' => 'v2.4',
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['manage_pages', 'pages_show_list', 'publish_pages'];
$callback = 'http://localhost:8000/return.php';
$loginUrl = $helper->getLoginUrl($callback, $permissions);
echo '<a href="'.$loginUrl.'">Log in with Facebook!</a>';
但是当return.php尝试调用api时会抛出一个错误:
//return.php
$fb = new Facebook\Facebook([
'app_id' => $log_json['app_id'],
'app_secret' => $log_json['app_secret'],
'default_graph_version' => 'v2.4',]);
$helper = $fb->getRedirectLoginHelper();
$client = $fb->getOAuth2Client(); //for long lived access token
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// There was an error communicating with Graph
echo $e->getMessage();
exit;
}
if (isset($accessToken)) {
$longAccessToken = $client->getLongLivedAccessToken($accessToken);
DB::saveLongLivedToken($longAccessToken); //save token to database
$_SESSION['facebook_access_token'] = DB::getLongLivedToken();
//dump($response);
$res = $fb->post('<page id>/feed', array('message' => 'Hello'), $_SESSION['facebook_access_token']);
dump($res);
exit;
} elseif ($helper->getError()) {
....
exit;
}