Facebook PHP SDK получить токен доступа с помощью php - PullRequest
0 голосов
/ 02 октября 2011

Я использую следующий код для публикации в Facebook:

require('facebook.php');

$fb = new Facebook(array('appId' => 'MY APP ID','secret' => 'MY APP SECRET','cookie' => true));

$result = false;
$feed_dir = '/401868882779/feed/';  //to the UID you want to send to
$acToken = "MY ACCESS TOKEN";
$url = 'URL';
$link = $url . 'event.php?id=' . $id;
if (isset($picture))
{
    $picture = $url . 'uploads/' . $picture;
}
else
{
    $picture = $url . 'images/blank100x70.png';
}
$msg_body = array('access_token' => $acToken,'name' => $noe_unsecured,'message' => $link,'link' => $link,'description' => $description_unsecured,'picture' => $picture);

try
{
    $result = $fb->api($feed_dir, 'post', $msg_body);
} 
catch (Exception $e)
{     
        $err_str = $e->getMessage();
}

, но мне нужно обновлять токен доступа каждый раз, когда он меняется.Я уверен, что есть решение, но я не могу его найти .. Я перепробовал много скриптов, но ничего не получилось.

Ответы [ 4 ]

1 голос
/ 22 июля 2012
1 голос
/ 03 октября 2011

В зависимости от того, когда вы выполняете запись на стене, вам может потребоваться запросить разрешение offline_access . Это преобразует ваш access_token в формат, который не имеет срока действия, поэтому нет необходимости обновлять токен.

0 голосов
/ 03 октября 2011

Я считаю, что есть несколько способов сделать это:- вы можете использовать метод, уже предоставленный в PHP SDK getAccessToken, который возвращает текущий токен доступа, используемый экземпляром sdk, дополнительную информацию можно получить по адресу по этому URL .- Однако вам не нужно использовать токен доступа для вызова метода api(), как только вы спросите пользователя о разрешении publish_stream , как уже упоминалось @ifaour.Следовательно, вы можете сделать что-то вроде в этом примере , перейти к подзаголовку Опубликовать ссылку на стену пользователя с помощью Graph API .- Тогда у вас есть еще три варианта

i) либо получите новый токен доступа, используя метод здесь , если вы публикуете сообщения, когда пользователь в данный момент использует ваше приложение, в противном случае вы можете попробовать следующие 2 вариантаII) получить автономный доступ iii) я не уверен в этом, но вы можете попробовать использовать токен доступа к приложению, который можно получить таким образом .

0 голосов
/ 02 октября 2011

Простое решение ... удалить access_token!
Вам это просто не нужно, если вы получили разрешение publish_stream!

...