0

我正在尝试编写一个应用程序,它将用户制作的图像发布到 Facebook 用户的墙上,它一直工作到大约一个小时前,现在我收到一个错误“必须使用活动访问令牌来查询信息”关于当前用户。”。希望有人能快速回答:)

这是我获取用户并检查专辑的起始 PHP

<?php
    include 'src/facebook.php';
    $facebook = new Facebook(array(
        'appId' => ID,
        'secret' => SECRET,
        'cookie' => true
        ));

    $me = null;
    $thisPhoto = null;
    $album_name = NAME;
    $album_message = MESSAGE;

    try {
        $me = $facebook->api('/me');
        $facebook->setFileUploadSupport(true);      
        // check if album with name exists...if not create it
        $albums = $facebook->api('/me/albums');
        foreach($albums['data'] as $album)  {
            if($album['name'] == $album_name) {
                $album_uid = $album['id'];
                }
            }
        if (!$album_uid) {
            $album_details = array(
                'message'=> $album_message,
                'name'=> $album_name
                );
            $create_album = $facebook->api('/me/albums', 'post', $album_details);
            $album_uid = $create_album['id'] . "MADE";
            }
        //echo "<!-- $album_uid -->\n";
        }
    catch (FacebookApiException $e) {
        echo "<!-- " . $e->getMessage() . " -->\n";
        }
?>

这是我的主要 HTML(上面是在 doctype 之前调用的)

<!doctype>
<html>
    <head>
        <meta charset=utf-8>
        <title>'TITLE</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <style type="text/css" media="screen">
            html, body { width:100%; background-color: #FFF;}
            body {  margin:0 auto; padding:0; width:760px}
            #flashContent { width:100%; height:100%; }
        </style>
    </head>
<body>

<?php   
    //print_r($me);
    //echo $facebook->getUser();
    //echo $facebook->getAccessToken();

    // START
    if($me) {
        // true makes print_r give human readable instead of just a screen dump
        //echo '<pre>' . print_r($VARIABLE, true) . '</pre>';
        $appName = NAME.SWF;
        $appWidth = "760";
        $appHeight = "640";
        $appID = "stache_yerself";
        $appAlt = "Square Shooters app - 'Stache Yerself";
        // ECHOS out HTML used for the APP
    }
    else {
        $loginUrl = $facebook->getLoginUrl(array('scope' => 'publish_stream,read_friendlists,user_photos'));
        echo '<a href="' . $loginUrl . '">Login</a>';
    }
?>
</body>
</html>

上面的 else 给出了一个链接;但是,它什么也不做,只是转到一个空白页面。我在应用程序的开发者页面上重置了“秘密”,但没有帮助。我不知道它为什么停止工作(Facebook 是否再次更改了他们的代码?)。甚至 HTML 部分的登录内容在之前和现在都可以正常工作......什么也没有。我很困惑为什么这只是停止工作。

4

1 回答 1

0

您是否达到了开发帐户的 API 限制?

您可以在 600 秒内进行 600 次查询。

此外,这可能会有所帮助

https://www.facebook.com/help/210701362295828/

于 2012-11-06T15:26:28.010 回答