2016-10-21 5 views
0

보관 용 계정에 파일 업로드를 원하는 프로젝트를 만들었습니다. 내 보관 용 계정에 성공적으로 업로드됩니다. 그러나 문제는 인증을 요청할 것입니다. 나는 그 인증 팝업을 원하지 않는다. 내 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

나는 팝업 이상 원하지 않는다. 어떻게해야합니까?

답변

0

앱 키와 비밀번호는 앱만 식별하며 모든 보관 용 계정에 액세스 할 수 없도록 설정합니다.

보관 용 계정에 액세스하려면 코드에 oauth_tokenoauth_token_secret의 조합이있는 액세스 토큰이 필요합니다. 액세스 토큰은 특정 앱 - 사용자 쌍을 식별하고 앱의 허가에 의해 허용되는 범위 내에서 해당 계정에 대한 액세스를 가능하게합니다.

자신의 계정에만 액세스하려는 경우 해당 앱 인증을 한 번 처리하고 향후 통화를 위해 결과 액세스 토큰을 저장하고 다시 사용할 수 있습니다.