0

Dropbox アカウントにファイルをアップロードするプロジェクトを作成しました。Dropbox アカウントに正常にアップロードされました。しかし問題は、認証を要求することです。その認証ポップアップは必要ありません。app_key と secret を使用してその認証をバイパスします。

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);
    }

ここに画像の説明を入力

上記のポップアップは必要ありません。どうやってやるの。

4

1 に答える 1

0

アプリ キーとシークレットはアプリを識別するだけであり、Dropbox アカウントへのアクセスを有効にすることはありません。

Dropbox アカウントにアクセスするには、アクセス トークン (コード内のoauth_tokenとの組み合わせ) が必要です。oauth_token_secretアクセス トークンは、特定のアプリとユーザーのペアを識別し、アプリの許可で許可されている範囲でそのアカウントへのアクセスを有効にします。

ただし、自分のアカウントにのみアクセスしたい場合は、そのアプリの承認を 1 回処理し、結果のアクセス トークンを保存して、将来の呼び出しに再利用できます。

于 2016-10-21T17:27:10.477 に答える