Получить токен доступа из API Dropbox без взаимодействия с пользователем

Я читал аутентификацию API ядра Dropbox и в документации написано, что пользователь должен открыть ссылку, скопировать код авторизации, вставить его и тогда API изменит его на токен доступа. Есть ли способ избежать всего этого? например, при открытии окна выбора Dropbox и аутентификации с использованием электронной почты и пароля, как я могу получить токен доступа в результате? какие-нибудь обновления по этому поводу?

Примечание. Цель состоит в том, чтобы получить токен доступа после того, как пользователь войдет в систему с помощью API выбора Dropbox.


person MuhammadNe    schedule 19.04.2016    source источник


Ответы (2)


Конечно, требуется взаимодействие с пользователем, но все, что ему нужно сделать, это войти в систему (если она еще не зарегистрирована) и нажать кнопку «Разрешить», чтобы предоставить вашему приложению доступ. Возможно, вы захотите взглянуть на примеры веб-приложений (а не на примеры командной строки). Например. попробуйте https://mdwebhook.herokuapp.com/ и посмотрите на код.

Обратите внимание, что Chooser не даст вам токен доступа; он дает вам доступ только к конкретному файлу, выбранному пользователем. Чтобы получить токен доступа, вам нужно провести пользователя через поток OAuth. Возможно, вам поможет руководство по OAuth от Dropbox.

person user94559    schedule 19.04.2016
comment
К сожалению, это кажется единственным способом сделать это, проблема в том, что мне нужно загружать файлы с сервера, а не с машины клиента. и код, который вы мне дали, выглядит хорошо. Надеюсь, они скоро изменят поток OAuth. - person MuhammadNe; 19.04.2016
comment
каким образом изменить поток OAuth? - person user94559; 19.04.2016
comment
В API-интерфейсе Google Drive, как только пользователь войдет в систему выбора Google, в результате он получит токен доступа. В Dropbox пользователь должен открыть веб-страницу, скопировать код авторизации, поместить его куда-нибудь, чтобы позже преобразовать в токен доступа, как указано в этом руководстве по Dropbox URL - person MuhammadNe; 20.04.2016
comment
Нет, как я уже сказал, пользователю просто нужно нажать кнопку с надписью «Разрешить». Пожалуйста, попробуйте пример, на который я вам указал. Вам нужно было скопировать код авторизации в этом процессе? - person user94559; 20.04.2016
comment
это не решение, если вы хотите получить короткий токен прямого доступа и использовать его для загрузки некоторых файлов. и повторяйте это каждый раз, когда есть файл для загрузки. - person ali; 12.12.2020

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

person webcodecs    schedule 19.04.2016
comment
Я имею в виду, что после того, как клиент войдет в систему выбора Dropbox, используя адрес электронной почты и пароль, я хочу в результате получить токен доступа. Google API поддерживает это, есть ли способ или обходной путь для Dropbox? - person MuhammadNe; 19.04.2016