2014-09-25 87 views
0

当我上传图像至Facebook其给出错误未捕获OAuthException:(#200)在Facebook上上传

致命错误:未捕获OAuthException:(#200)的权限错误在文件路径抛出/ base_facebook.php上线1325

进出口使用设在这里的Facebook PHP 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); 

} 

} 

任何人都可以指出我为什么会发生此错误?

回答

0

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

有没有这样的权限publish_stream了,1.0版了吧,但仅限于网页,而不是用户。

publish_actions是你想要的,范围改变这一点,并重新请求权限..

+0

@RaddaMiffin,所以我只需要改变'&范围= user_photos,publish_stream'到'&范围= user_photos,publish_actions'是它? – zack 2014-09-25 16:15:01

+0

@zunk我会这么说,但如果用户已经认证了应用程序,那么您可能需要使用'auth_type = rerequest'作为另一个参数专门重新请求权限。 – 2014-09-25 16:18:40

+0

您只需要使用rerequest来请求用户拒绝的权限。如果用户从未被要求获得权限,那么您可以再次弹出登录信息而无需重新申请 – WizKid 2014-09-25 17:04:47

相关问题