поделиться папкой через Dropbox Ruby API - PullRequest
1 голос
/ 26 февраля 2011

Я хочу поделиться папкой Dropbox через Ruby API.Это возможно сейчас или есть?

Спасибо

Ответы [ 2 ]

7 голосов
/ 28 ноября 2011

Всегда есть способ, но в этом случае вам потребуется программно войти в систему через cURL и передавать туда и обратно необходимые данные. Я пытаюсь понять это сейчас сам.

[Изменить]

Поскольку в этой теме все еще есть интерес, я опубликую основные инструкции, возможно, она изменилась с тех пор, как я это сделал, но это то, что работало 6 месяцев назад.

1) Вам необходимо войти в систему и запомнить свои куки.

URL для входа (был) https://www.dropbox.com/login

Данные, которые необходимо опубликовать на странице входа, представлены ниже как массив php, поскольку именно это я и использовал.

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

Токен входа в систему является частью формы входа в систему и предназначен для предотвращения XSS, поэтому вам нужно прочитать его оттуда и включить в сообщение формы, иначе он потерпит неудачу.

После успешного входа в систему вам необходимо прочитать HTML и заголовки, используя cURL для URL 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. Это создаст новую папку и поделится ею с электронными письмами в поле «электронные письма», которое представляет собой список адресов электронной почты, разделенных запятыми.

Веселитесь.

1 голос
/ 07 апреля 2011

Я изучал API и форум разработчиков, и, к сожалению, я не думаю, что это возможно (по крайней мере, не прямым способом).

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

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

...