2012-11-24 57 views
0

首先,我對用戶進行身份驗證並獲得index.php的權限,並且在將用戶重定向到action.php後,應用程序執行其操作。Facebook應用程序致命錯誤:未捕獲的OAuthException:

我得到這個錯誤

Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user. thrown in /home/flysw4fr/public_html/event/facebook.php

這個程序兩年前工作得很好,現在,它不再起作用

這裏是我的action.php的

<?php 

require_once('config.php'); 

if(!$_SESSION['init']){ 
    die; 
} 

unset($_SESSION['init']); 

require_once('facebook.php'); 

$data = loaddata(); 
$facebook = new Facebook(array(
    'appId' => $fbappid, 
    'secret' => $appsecret, 
    'cookie' => true, 
)); 



$friendsdate = $facebook->api('/me/friends'); 
if($friendsdate && $friendsdate['data'] && count($friendsdate['data'])){ 
    $friends = array(); 
    foreach($friendsdate['data'] as $f){ 
     $friends[] = $f['id']; 
    } 

    sleep(3); 

    $session = $facebook->getSession(); 
    $params = array('name' => $data['name'], 
        'start_time' => $data['start_time'], 
        'end_time' => $data['end_time'], 
        'description' => $data['description']); 
    if($data['source']){ 
     $params['source'] = '@'.realpath('image/'.$data['source']); 
     $facebook->setFileUploadSupport(true); 
    } 
    $result = $facebook->api('/me/events', 'POST', $params); 

    sleep(4); 
    $eid = $result['id']; 

    $params = array(
     'access_token' => $facebook-> getAccessToken(), 
     'eid' =>$eid, 
     'api_key' => $fbappid, 
     'uids'=> implode(',', $friends), 
     'format'=>'json-strings', 
     'personal_message'=> $data['personal_message'] 
    ); 

    $url = 'https://api.facebook.com/method/events.invite'; 
    $facebook->setFileUploadSupport(false); 
    $result = $facebook->makeRequest($url, $params); 
} 

header('Location: '.$data['url']); 
+3

Facebook :: getSession已過時。獲取當前版本的SDK,並調整您的代碼。 – CBroe

+2

「*此應用在兩年前運行良好**,現在不再有效*」。 – ifaour

回答

0

代碼你應該認真更新你的代碼並使用當前的SDK版本,或者你可以使用opengraph。

Facebook :: getSession現在已經過時了,這是2年前的事了。 (這個應用程序在兩年前運行良好,現在它不再工作: - /)

相關問題