首页 文章

使用访问令牌在Dropbox上传文件

提问于
浏览
0

我创建了一个项目,我希望在我的Dropbox帐户上上传文件 . 它在我的Dropbox帐户中成功上传 . 但问题是它会要求身份验证 . 我不想要那个身份验证弹出窗口 . 使用我的app_key和密码绕过该身份验证 .

public function request_dropbox()
    {
        $params['key'] = $this->config->item("dropbox_key");
        $params['secret'] = $this->config->item("dropbox_secret");

        $this->load->library('dropbox', $params);
        $data = $this->dropbox->get_request_token(site_url("testdropbox/access_dropbox"));
        $this->session->set_userdata('token_secret', $data['token_secret']);
        redirect($data['redirect']);
    }

public function access_dropbox()
    {
        $params['key'] = $this->config->item("dropbox_key");
        $params['secret'] = $this->config->item("dropbox_secret");

        $this->load->library('dropbox', $params);

        $oauth = $this->dropbox->get_access_token($this->session->userdata('token_secret'));

        $this->session->set_userdata('oauth_token', $oauth['oauth_token']);
        $this->session->set_userdata('oauth_token_secret', $oauth['oauth_token_secret']);
        redirect('testdropbox/test_dropbox');
    }

public function test_dropbox()
    {
        $params['key'] = $this->config->item("dropbox_key");
        $params['secret'] = $this->config->item("dropbox_secret");
        $params['access'] = array('oauth_token'=>urlencode($this->session->userdata('oauth_token')),
                                  'oauth_token_secret'=>urlencode($this->session->userdata('oauth_token_secret')));

        $this->load->library('dropbox', $params);

        $dbobj = $this->dropbox->account();
        $dbpath = "Test/ABC";
        $filepath = $_SERVER['DOCUMENT_ROOT'].'/DropPHP-master/Desert.jpg';

        $this->dropbox->add($dbpath, $filepath, array('dropbox'));
        print_r($dbobj);
    }

enter image description here

我不想要上面的弹出窗口 . 我怎样才能做到这一点 .

1 回答

  • 0

    应用密钥和密钥仅识别您的应用,并且不允许访问任何Dropbox帐户 .

    要访问Dropbox帐户,您需要一个访问令牌(代码中 oauth_tokenoauth_token_secret 的组合) . 访问令牌标识特定的应用程序 - 用户对,并允许在应用程序许可允许的范围内访问该帐户 .

    如果您只想访问自己的帐户,则可以处理该应用程序授权一次,并存储并重新使用生成的访问令牌以供将来调用 .

相关问题