错误。 "必须使用活动访问令牌来查询有关当前用户的信息。

时间:2011-12-07 13:48:10

标签: facebook-graph-api canvas

我很沮丧,我创建了一个新应用,用于测试从我的fbml到iframe应用的更新。我在其他app.faceb中创建了iframe应用程序...用于测试...今天,该应用程序完全在测试创建的应用程序URL中工作。我将文件移动到我的公共应用程序,然后将设置从FBML更改为iframe。突然在公共应用程序中出现下一个错误:

致命错误:未捕获OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。在1039行的/var/www/mysite/apps/facebook/base_facebook.php中引用

我该怎么办?在测试应用程序facebook URL中,它工作正常,但在我的公共应用程序URL中,旧的FBML应用程序在哪里崩溃:_(

<?php
require './config.php';
require './facebook.php';
$facebook = new Facebook(array(
'appId'  => $fb_app_id,
'secret' => $fb_secret,
'cookie' => true,
));
$friends = array();
$sent = false;
$userData = null;
//redirect to facebook page
if(isset($_GET['code'])){
    header("Location: " . $fb_app_url);
    exit;
}
$user = $facebook->getUser();
if ($user) {
$userPermissions = $facebook->api('/me/permissions');
//get user data
    if (($userPermissions["data"][0]["user_groups"] == 1) && ($userPermissions["data"]   [0]["publish_stream"] == 1) && ($userPermissions["data"][0]["publish_stream"] == 1)){
$app_access = 1; //yes
}
else {
    $app_access = 2; //no
$loginUrl = $facebook->getLoginUrl(array(
    'canvas' => 1,
    'fbconnect' => 0,
    'scope' =>'publish_stream,status_update,user_groups,user_about_me,user_interests,user_likes',
));
}
try {
    $userData = $facebook->api('/me');
} catch (FacebookApiException $e) {
    //do something about it
}   
} else {
    $app_access = 2; //no
$loginUrl = $facebook->getLoginUrl(array(
    'canvas' => 1,
    'fbconnect' => 0,
    'scope' => 'publish_stream,status_update,user_groups,user_about_me,user_interests,user_likes',
));
}
?>

1 个答案:

答案 0 :(得分:0)

信息不足。 可能是因为您的应用的网址未在developers.facebook.com/apps

中配置