Я пытаюсь обновить статус пользователя Facebook, используя Graph api. Мой код
<?php require 'facebook.php'; $facebook = new Facebook(array( 'appId' =>'389694921095423', 'secret' =>'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'cookie' => true )); $access_token = $facebook->getAccessToken(); echo($access_token); $me = null; try { $uid = $facebook->getUser(); $me = $facebook->api('/me'); echo "Welcome User: " . $me['name'] . "<br />"; //access permission $permissions_needed = array('publish_stream', 'read_stream', 'offline_access', 'manage_pages'); foreach($permissions_needed as $perm) { if( !isset($permissions_list['data'][0][$perm]) || $permissions_list['data'][0][$perm] != 1 ) { $login_url_params = array( 'scope' => 'publish_stream,read_stream,offline_access,manage_pages', 'fbconnect' => 1, 'display' => "page", 'next' => 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] ); $login_url = $facebook->getLoginUrl($login_url_params); header("Location: {$login_url}"); exit(); } } //Access permission $post_id = $facebook->api("/$uid/feed", "post", array("message"=>"Hello World!")); if(isset($post_id)) { echo "A new post to your wall has been posted with id: $post_id"; } } catch (FacebookApiException $e) { echo($e); } ?>
Проблема заключается в том, что она показывает ошибку времени выполнения, например, Fatal error: Uncaught OAuthException: токен активного доступа должен использоваться для запроса информации о текущем пользователе. Я создал Access Tocken. Где я должен использовать это, чтобы удалить это исключение Спасибо заранее
Попробуйте изменить строку:
$me = $facebook->api('/me');
в
$me = $facebook->api('/'.$uid);
Также попробуйте обновить свой sdk, если вы не используете последнюю версию, и если вы только что обновили sdk, и это вызвало проблему, вы можете попытаться понизить версию и проверить.
Очистите кеш и файлы cookie (если вы тестируете или разрабатываете приложение) и делайте следующее: –
try { $fb_user_info = $facebook->api('/me'); } catch (Exception $ex) { $facebook->destroySession(); $params = array( 'scope' => 'YOUR_PERMISSIONS', 'redirect_uri' => 'YOUR_SITE_URL' ); $fb_login_url = $facebook->getLoginUrl($params); header("Location:" . $fb_login_url); }