【问题标题】:"An active access token must be used to query information about the current user" facebook error“必须使用活动访问令牌来查询有关当前用户的信息”facebook 错误
【发布时间】:2012-04-26 17:04:35
【问题描述】:

我正在 Facebook 上开发一个应用程序,但遇到了一些问题。 基本上,在用户赢得游戏后,我会要求他将他的成功贴在墙上(比如“看!我赢了游戏!也以 游戏名称 玩这个游戏!”-> 这个是以下代码的罗马尼亚语位的翻译)。我正在使用此代码:

if ($raspuns == "Yer Blues") {

echo("Bravo!Ai castigat jocul!Intoarce-te saptamana viitoare cand se va posta un alt set de melodii!");

$access_token = $facebook->getAccessToken();

$wall_post = array('message' => 'Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!',

            'name' => 'Campion Ghiceste Melodia',

            'caption' => "Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!",

            'link' => 'https://apps.facebook.com/revistafloyd/',

            'description' => 'Revista Floyd este o revista despre muzica rock.',

            );    

$result = $facebook->api('/me/feed/', 'post', $wall_post);

}

但每当用户输入正确答案时,我都会收到此消息:

致命错误:未捕获的 OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。在第 1106 行的 /home/pasarel/public_html/face/src/base_facebook.php 中抛出

这是为什么呢?我提到我同时拥有用户和应用程序访问令牌,那怎么了? 我在某处读到它可能缺少“会话”部分(此处:http://benbiddington.wordpress.com/2010/04/23/facebook-graph-api-getting-access-tokens/)。这可能是答案吗?我该如何解决?

【问题讨论】:

    标签: php facebook oauth facebook-access-token


    【解决方案1】:

    简单

    改变这个

    $wall_post = array('message' => 'Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!',
    
                'name' => 'Campion Ghiceste Melodia',
    
                'caption' => "Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!",
    
                'link' => 'https://apps.facebook.com/revistafloyd/',
    
                'description' => 'Revista Floyd este o revista despre muzica rock.',
    
                );    
    

    到此

    $wall_post = array('access_token' => $access_token ,
    'message' => 'Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!',
    
                'name' => 'Campion Ghiceste Melodia',
    
                'caption' => "Am castigat jocul Ghiceste Melodia! Joaca si tu cu Revista Floyd!",
    
                'link' => 'https://apps.facebook.com/revistafloyd/',
    
                'description' => 'Revista Floyd este o revista despre muzica rock.',
    
                );    
    

    更新

    尝试改变这一点

    $WallPost = array(
                            'access_token' => $access_token,
                            'message' => $message,
                            'link' => $link,
                            'name' => $name,
                            'caption' => $caption,
                            'description' => $description);
    
                            $response = $facebook->api('/me' . '/feed','POST',$WallPost);
    

    【讨论】:

    • 试试echo "token: " . $access_token ;
    • 在 danish@tokyo.com 给我你的 access_token 我会在几个小时后检查它
    • 不,谢谢,我终于让它工作了,在代码中添加了 'action' => $action'。
    • 哦,很好,但你能进一步清楚 $action 包含什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多