1

cURLとPHPを使用してユーザーとしてDropboxにログインしようとしています。

$ch = curl_init(); 
$data = array(
    't'=>'hxdlvCcN7SKKcfKCvpEO8-s2',
    'lhs_type'=>'anywhere',
    'login_email'=>'myemail@mail.com',
    'password'=>'mypass',
    'login_submit'=>1,
    'remember_me'=>'on',
    'login_submit_dummy'=>'Sign in'
);

// set cURL options and execute
curl_setopt($ch, CURLOPT_URL, "https://www.dropbox.com/login?lhs_type=anywhere");  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);  
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($data));
$request_token_response = curl_exec($ch);       
var_dump($request_token_response );

このテキストで403ページを取得します:

It seems you tried to do something we can't verify. Did you log into a different Dropbox account in a different window? Try clicking here to go back to the page you came from, or just go home.

私は何が間違っているのですか?

4

2 に答える 2

0

それは可能であり、それを簡単にするために利用可能な現在のクラスがあります。 https://github.com/jakajancar/DropboxUploader/

それは同じくらい簡単です

require 'DropboxUploader.php';
$uploader = new DropboxUploader('email@address.com', 'password');

$uploader->loggedinログインしているかどうかに関係なく、が返されます。

于 2013-03-09T15:34:48.127 に答える
0

't'値は1回しか使用できないことがわかると思います。ログインするたびに、新しいものを呼び出す必要があります。

他の投稿で提案されているクラスを見ると、それがまさにそれを行っていることがわかります。

于 2013-03-09T15:50:18.407 に答える