2013-02-28 3 views
-2
require ('facebook.php'); 

define('FACEBOOK_APP_ID',"My_ID"); 
define('FACEBOOK_SECRET',"My_Secret"); 
define('REDIRECT_URI',"My_Website"); 
define('PERMISSIONS_REQUIRED', "publish_stream"); 
$facebook = new Facebook(array(
    'appId' => FACEBOOK_APP_ID, 
    'secret' => FACEBOOK_SECRET, 
    'cookie' => true 
)); 
    $access_token = $facebook->getAccessToken(); 

    $query = mysql_query("SELECT `title` FROM `tentego_img` WHERE `id` = ".intval($_GET['id']).""); 
    $r = mysql_fetch_array($query); 
    $link = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; 

    $facebook->api('/me/feed', 'POST', 
            array(
             'link' => $link, 
             'message' => $r[0] 
           )); 

Ошибка: Критическая ошибка: Uncaught OAuthException: активный маркер доступа должна быть использована для запроса информации о текущем пользователе.Фатальная ошибка: Uncaught OAuthException: Ошибка проверки маркера доступа

Пожалуйста, помогите.

+0

Вы сначала прошли процесс регистрации ...? – CBroe

+0

Да. $ login_url = $ facebook-> getLoginUrl ($ params = array ('redirect_uri' => REDIRECT_URI, 'scope' => PERMISSIONS_REQUIRED)); echo (""); –

ответ

1

попробуйте getAccessTokenFromCode($_GET['code'],REDIRECT_URI) вместо этого он должен работать. меня устраивает. Ваш модифицированный код:

require ('facebook.php'); 

define('FACEBOOK_APP_ID',"My_ID"); 
define('FACEBOOK_SECRET',"My_Secret"); 
define('REDIRECT_URI',"My_Website"); 
define('PERMISSIONS_REQUIRED', "publish_stream"); 
$facebook = new Facebook(array(
    'appId' => FACEBOOK_APP_ID, 
    'secret' => FACEBOOK_SECRET, 
    'cookie' => true 
)); 
if(isset($_GET['code'])) 
{ 
    $access_token = $facebook->getAccessTokenFromCode($_GET['code'],REDIRECT_URI); 
    $facebook->setAccessToken($access_token); 
    $query = mysql_query("SELECT `title` FROM `tentego_img` WHERE `id` = ".intval($_GET['id']).""); 
    $r = mysql_fetch_array($query); 
    $link = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; 

    $facebook->api('/me/feed', 'POST', 
            array(
             'link' => $link, 
             'message' => $r[0] 
           )); 
}else 
{ 
    $login_url = $facebook->getLoginUrl($params =array('redirect_uri'=>REDIRECT_URI,'scope' => PERMISSIONS_REQUIRED)); 
echo ("<script> top.location.href='".$login_url."'</script>"); 
} 
Смежные вопросы