facebook API错误:未捕获OAuthException:验证访问令牌时出错

时间:2011-01-11 20:13:17

标签: facebook facebook-graph-api

我发现这个错误

致命错误:未捕获OAuthException:验证访问令牌时出错。在第543行的/home/techtud1/public_html/library/facebook.php中引用

我是facebook开发的新手,但我正在使用本教程的确切步骤 http://www.joeyrivera.com/2010/facebook-graph-api-app-easy-w-php-sdk/ 当我试图获得用户的信息时,我得到了一次,但当我再次尝试时,我得到了这个错误。无论我在做什么,我都会收到这个错误

帮助PZ

4 个答案:

答案 0 :(得分:2)

我遇到了这个问题,在我的案例中解决了这个问题的是从FB用户的个人资料中删除应用程序并再次添加它创建一个新的ACCESS_TOKEN。我不知道为什么,但这解决了问题。

答案 1 :(得分:1)

如果您的应用程序是FBML,则header()不起作用。您需要使用fb:redirect

http://developers.facebook.com/docs/reference/fbml/redirect/

答案 2 :(得分:0)

我建议你从官方facebook php-sdk example.php开始学习。

我发现开球和直接前进要容易得多。

答案 3 :(得分:0)

检查此

$app_id         = "YOUR_APP_ID";
$app_sec        = "APP_SEC";
$canvas_page    = "APP_CANVAS_PAGE_URL";
$scope          = "&scope=user_photos,email,publish_stream";                
$auth_url       = "http://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($canvas_page) . $scope; 

$signed_request = $_REQUEST["signed_request"];   
list($encoded_sig, $payload) = explode(".", $signed_request, 2); 
$data = json_decode(base64_decode(strtr($payload, "-_", "+/")), true); 
if (empty($data["user_id"])) 
{
    echo("");
} 
$access_token   = $data["oauth_token"]; 
$user_id        = $data["user_id"]; 
$user           = json_decode( file_get_contents( "https://graph.facebook.com/me?access_token=" . $access_token ) ); 

function get_facebook_cookie($app_id, $application_secret)
{ 
    $args = array();
    parse_str(trim($COOKIE["fbs" . $app_id], "\""), $args); 
    ksort($args);
    $payload = ""; 
    foreach ($args as $key => $value) { 
        if ($key != "sig") 
        { 
            $payload .= $key . "=" . $value; 
        }
    } 
    if (md5($payload . $application_secret) != $args["sig"]) 
    {
        return null; 
    } 
    return $args; 
} 

$cookie = get_facebook_cookie($app_id, $app_sec);