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' 值只能使用一次。每次登录时,您都需要调用一个新的。

如果您查看另一篇文章中建议的课程,您会发现它就是这样做的。

于 2013-03-09T15:50:18.407 回答