Facebook PHP sdk-v4-5.0无法上传照片,开发者除外

Facebook PHP sdk-v4-5.0无法上传照片,开发者除外,php,facebook,upload,facebook-php-sdk,Php,Facebook,Upload,Facebook Php Sdk,我正在实现一个应用程序,将jpg文件共享到用户的Facebook帐户。我正在使用Facebook PHP sdk-v4-5.0。这种现象是,该功能可以成功地将照片上传到我的Facebook个人资料,但它不适用于其他人。有人能给我一些建议吗?下面是我的代码。它是在Codeigniter框架中开发的,名为share\u fb.php。Codeigniter生成url的方式是(示例,不是有效链接) 在其他人都可以使用之前,您需要发送发布\u操作以供批准登录审核是关键字: 未经批准,大多数权限仅适用于在

我正在实现一个应用程序,将jpg文件共享到用户的Facebook帐户。我正在使用Facebook PHP sdk-v4-5.0。这种现象是,该功能可以成功地将照片上传到我的Facebook个人资料,但它不适用于其他人。有人能给我一些建议吗?下面是我的代码。它是在Codeigniter框架中开发的,名为share\u fb.php。Codeigniter生成url的方式是(示例,不是有效链接)


在其他人都可以使用之前,您需要发送
发布\u操作
以供批准登录审核是关键字:


未经批准,大多数权限仅适用于在应用程序中具有角色的用户。

谢谢您的回复。我确实添加了
publish_actions
来获取Facebook的访问代码,如下所示:
if(empty($code)){$permissions=['email','publish_actions'];//可选$loginUrl=$helper->getLoginUrl($my_url,$permissions);header('location:'.$loginUrl);return;}
有错吗?您需要打开我答案中关于登录审核的链接。授权!==登录审核。
    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    use Facebook\FacebookRequest;
    require_once('/home/ubuntu/facebook-php-sdk-v4-5.0-dev/src/Facebook/autoload.php');

    class Share_fb extends CI_Controller 
    {
        public function __construct()
        {
            parent::__construct();
            $this->load->library('session');

        }



        public function post_yoto_with_comment()
        {
            session_start();
            $app_id = "{app_id}";
            $app_secret = "{app_secret}";
            $my_url = base_url().'share_fb/post_yoto_with_comment';
            $fb = new Facebook\Facebook([
                'app_id' => $app_id,
                'app_secret' => $app_secret,
                'default_graph_version' => 'v2.2'
            ]);

            $helper = $fb->getRedirectLoginHelper();

            if( $this->input->get_post('code') )
            { 
                $code = $this->input->get_post('code') ; 
            }
            if(empty($code)) 
            {
                $permissions = ['email', 'publish_actions']; // optional
                $loginUrl = $helper->getLoginUrl($my_url, $permissions);
                header('location:'.$loginUrl );
                return;
            } 

            $helper = $fb->getRedirectLoginHelper();
            $accessToken = '';
            try 
            {
                $accessToken = $helper->getAccessToken();

            } 
            catch(Facebook\Exceptions\FacebookResponseException $e) 
            {
                echo 'Graph returned an error: ' . $e->getMessage();
                exit;
            } 
            catch(Facebook\Exceptions\FacebookSDKException $e) 
            {
                echo 'Facebook SDK returned an error: ' . $e->getMessage();
                exit;
            }

            if(isset($accessToken))
            {
                $_SESSION['facebook_access_token'] = (string) $accessToken;
                $this->session->set_userdata('access_token', (string) $accessToken);
                $fb->setDefaultAccessToken($accessToken);
                $image = "/var/www/tmp/yoshiki.jpg";//.$this->session->userdata('ssfilename');
                try
                {
                    $data = [
                            'source' =>  '@'.$image,
                            'message' => "rrrr",
                        ];
                    $response = $fb->post('/me/photos', $data, $accessToken);
                } 
                catch(FacebookRequestException $e) 
                {

                    echo "Exception occured, code: " . $e->getCode();
                    echo " with message: " . $e->getMessage();

                }
            }
        }
    }