我创建了一个项目,我希望在我的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);
}
我不想要上面的弹出窗口。我怎么能这样做。
答案 0 :(得分:0)
应用密钥和密钥仅识别您的应用,并且不允许访问任何Dropbox帐户。
要访问Dropbox帐户,您需要一个访问令牌(代码中oauth_token
和oauth_token_secret
的组合)。访问令牌标识特定的应用程序 - 用户对,并允许在应用程序许可允许的范围内访问该帐户。
如果您只想访问自己的帐户,则可以处理该应用程序授权一次,并存储并重新使用生成的访问令牌以供将来调用。