使用fb api发布图像获取新用户的错误

时间:2013-11-15 12:41:58

标签: php facebook facebook-graph-api

致命错误:未捕获OAuthException:发生了意外错误。请稍后重试您的请求。

我正在尝试使用facebook api从我的网站上更改他们的Facebook封面。 这是我的代码:

<script>
FB.login(function(response) {
    if (response.authResponse) {
        if (response)
        {

            fblogin();
            // user is logged in and granted some permissions.
        }
        else
        {
            // user is logged in, but did not grant any permissions
            alert('Kindly allow the My App to access the Facebook Account');
        }
    } else {
        // user is not logged in
        alert('You are not logged in Facebook Account');
    }
    }, {scope:'read_stream,publish_stream,publish_actions,offline_access,email'});


function fblogin()
{
    var imageName = 'myimage.png';
   jQuery.post("/facebook/index", {imageName:imageName}, function(data){    
    if(data)
    {
        parent.window.open("http://www.facebook.com/profile.php?preview_cover="+data,'_blank');         
    } else {
alert('Please Login.');
}
    });
}

</script>

登录后我发布了图片名称,然后:

require_once('/api/facebook/src/facebook.php');                 

    $this->objfacebook = new Facebook(array(
        'appId'  => FB_APP_ID,
        'secret' => FB_SECRET_KEY,
        'fileUpload' => true,  
        'cookie' => true
    ));
$user_id = $this->objfacebook->getUser();
$access_token = $this->objfacebook->getAccessToken();
if ($user_id) {

$this->objfacebook->setFileUploadSupport(true);

//Create an album
$album_details = array(
    'message'=> 'Cover Photo',
    'name'=> 'Created on My App'
);

$create_album = $this->objfacebook->api('/me/albums', 'post', $album_details);

$album_uid = $create_album['id'];

//Uploading Photo
$photo_details = array(
    'message'=> 'Cover Photo',
    'name'=> 'Created on My App'
);

$file = BASE_PATH."/public/images/".$_POST['imageName'];  //BASE_PATH - Actual path of image

$photo_details['image'] = '@' . realpath($file);

$upload_photo = $this->objfacebook->api('/'.$album_uid.'/photos', 'post', $photo_details);

echo $upload_photo['id'];

exit();
}

对于我的老用户,它工作正常,当他们改变他们的Facebook封面时他们没有问题。
但是,当用户使用他们的新Facebook帐户更改他们的Facebook时,他们每次都会收到胎儿错误。

我也尝试使用我的新Facebook帐户,它也给了我同样的胎儿错误。

我不知道为什么新用户会发生这种情况?我在这里做错了吗?

请提出一些想法。

1 个答案:

答案 0 :(得分:0)

发生这种情况是因为用户没有获得任何授权弹出窗口,以允许我的应用在其帐户上发布数据。

现在已经修好了。我刚刚更新了fb api。它工作正常。