未捕获OAuthException:(#200)在Facebook上传


Uncaught OAuthException: (#200) on Facebook uploads

当我将图像上传到facebook时,它会给出一个错误

致命错误:未捕获OAuthException:(#200)在第1325 行的path_to_file/base_facebook.php中引发权限错误

我正在使用位于的facebookphp-sdk

https://github.com/facebook/facebook-php-sdk

这是我的代码

require 'facebook.php';

$facebook = new Facebook(array(
            'appId' => 'FB APP ID',
            'secret' => 'FB SECRET KEY',
        ));
// Get User ID
$user = $facebook->getUser();
if ($user) {
} else {
    $loginUrl = $facebook->getLoginUrl();
    header('Location:' . $loginUrl . '&scope=user_photos,publish_stream');
}
        if ($user) {
            if (isset($_GET['upload'])) {
                $facebook->setFileUploadSupport(true);
                $args = array('message' => ''.$site.'');
                copy(''.$fullurl.'', 'tmp/file.jpeg');
                $args['image'] = '@' . realpath('tmp/file.jpeg');
                $data = $facebook->api('/me/photos', 'post', $args);
                unlink('tmp/file.jpeg');
                //assigning users to tag and cordinates
                $argstag = array('to' => $user);
                $argstag['x'] = 40;
                $argstag['y'] = 40;
                $datatag = $facebook->api('/' . $data['id'] . '/tags', 'post', $argstag);
}
}

有人能告诉我为什么会发生这种错误吗?

请参阅:https://developers.facebook.com/docs/facebook-login/permissions/v2.1

publish_stream已经没有这样的权限了,v1.0已经有了,但只针对页面,而不是用户。

publish_actions是您想要的,请将作用域更改为此并重新请求权限。。