1

我想通过 Ruby API 共享一个保管箱文件夹。现在有可能还是仍然存在?

谢谢

4

2 回答 2

7

总有一种方法,但在这种情况下,它需要您通过 cURL 以编程方式登录并来回传递所需的数据。我现在正试图自己弄清楚这一点。

[编辑]

由于对此线程仍有兴趣,我将发布基本说明,自从我这样做以来它可能已经改变,但这是 6 个月前的工作。

1) 您需要登录并记住您的cookies。

登录 URL 是 (was)https://www.dropbox.com/login

您需要发布到登录页面的数据在下面表示为 php 数组,因为这就是我使用的。

$loginData = array(
    't' => $loginToken,
    'login_email' => $_POST['input_from_email'],
    'login_password' => $_POST['input_from_email_password']
);

登录令牌是登录表单的一部分,用于防止 XSS,因此您需要从那里读取它并将其包含在您的表单帖子中,否则它将失败。

成功登录后,您需要使用 cURL 作为 url 读取 HTML 和标题https://www.dropbox.com/home并解析

preg_match("/.*TOKEN:(.*),.*/", $homeResponse, $homeResponseMatches); 

这将为下一个表单提取 XSS 令牌,该表单是提交和创建共享的表单。它通过发布到 URL 来使用https://www.dropbox.com/share_ajax/new。而需要发布的数据是。

$createShareData = array(
    'emails' => $_POST['input_to_email'],
    'custom_message' => $_POST['input_message'],
    'folder_name' => $_POST['input_folder_name'],
    't' => $loggedInToken
);

'$loggedInToken' 是您从中刮取的令牌https://www.dropbox.com/home。这将创建一个新文件夹并与“电子邮件”字段中的电子邮件共享,该字段是一个以逗号分隔的电子邮件地址列表。

玩得开心。

于 2011-11-28T08:38:24.703 回答
1

我一直在搜索 API 和开发论坛,不幸的是我认为这是不可能的(至少不是以任何直接的方式)。

http://forums.dropbox.com/topic.php?id=25478&replies=10

http://forums.dropbox.com/topic.php?id=22779

于 2011-04-07T06:43:19.150 回答