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

facebook API error : Uncaught OAuthException: Error validating access token

伙计,我收到此错误

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

我是Facebook开发的新手,但我使用的是本教程的确切步骤
http://www.joeyrivera.com/2010/facebook-graph-api-app-easy-w-php-sdk/
当我尝试获取用户的信息时,我得到了一次,但是当我再次尝试获得该信息时,我得到了此错误。不管我在做什么,都会由于

而收到此错误

帮助PZ


我遇到了这个问题,解决此问题的方法是从FB用户的个人资料中删除该应用程序,然后再次添加它以创建一个新的ACCESS_TOKEN。我不知道为什么,但是这可以解决问题。


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

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


检查此

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$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);

我建议您开始从官方的Facebook php-sdk example.php学习。

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