Полный поток - четырехстраничный пример (проще для редактирования и понимания для примера)
Так что в конфиге просто есть основная информация о приложении ...
Когда вы загружаете index.php
- он перенаправляет на Facebook, чтобы получить авторизацию для страницы .. (вероятно, уже есть это .. но охватывает все базы)
Facebook перенаправляет обратно на redirecturl (backfromfb.php
) ...
Facebook возвращает маркер доступа в виде хэша, а не переменной get, поэтому эта страница обновляется хэшем в качестве переменной ...
Затем загружается PageUpdate.php
, который обрабатывает циклы по токенам app / admin и находит правильный для страницы, которую вы хотите опубликовать ..
Затем он создает пост и отправляет его ..
Похоже, у вас есть понимание большей части этого ... Так что, надеюсь, это поможет вам с этим последним битом.
config.php
<?php
$config = array(
'appId' => 'YOUR APP ID',
'secret' => 'YOUR APP SECRET',
'cookie' => true;
);
$baseurl = 'http://yoursite.com/';
$returnpage = 'backfromfb.php';
require_once('library/facebook.php');
?>
index.php
<?php require_once('config.php'); ?>
<html><head><title>Redirecting for auth</title></head><body><script type="text/javascript">
window.location.href = 'https://www.facebook.com/dialog/oauth?client_id=<?php echo $config['appId']; ?>&redirect_uri=<?php echo $baseurl . $returnpage; ?>&scope=manage_pages&response_type=token';
</script></body></html>
backfromfb.php
<?php
require_once('config.php');
// this page just passes the access token from the hash to a GET arg...
if (!isset($_GET['access_token'])) {
?>
<html><head><title>Redirecting</title></head><body><script type="text/javascript">
accessToken = window.location.hash.substring(1);
window.location.href = '<?php echo $baseurl . $returnpage; ?>?' + accessToken;
</script></body></html>
<?php
} else {
require_once('PageUpdate.php');
} ?>
PageUpdate.php
<?php
require_once('config.php');
$pageID = "123456 WHatever you page id is";
$AppToken = array(
'access_token' => $_REQUEST['acess_token']
);
$fb = new Facebook($config);
// Load APP page access rights for user via AppToken
$pageAdmin = $fb->api('/me/accounts', 'GET', $AppToken);
// Find the page access token
foreach ($pageAdmin['data'] as $data) {
if ($data['id'] == $pageID) {
$pageToken['access_token'] = $data['access_token'];
continue;
}
}
// compile the post
$WallPost = array(
'message' => 'Test post from my app!'
); // you can also use 'picture', 'link', 'name', 'caption', 'description', 'source'....
//http://developers.facebook.com/docs/reference/api/
// post to wall
$response = $fb->api($pageID . '/feed','POST',$WallPost);
if($response) {
echo 'Success!';
echo '' . $response . '
';
} иначе эхо "не удалось";
?>