Я разрабатываю приложение для Android, просто для себя, чтобы научиться android, а также сделать что-то полезное для себя. Приложение представляет собой расширение для настольного приложения, которое я написал. Одна из задач настольного приложения - загрузить некоторые текстовые данные и изображения в учетную запись Dropbox, которую я создал именно для этой цели.Проверка подлинности Dropbox в Android-приложении с использованием ранее созданного токена
Приложение для Android предлагает уменьшенную реализацию настольного приложения, так что я могу получить некоторые из тех же функций на ходу. Итак, когда приложение Android запускается, оно проверяет учетную запись Dropbox и загружает любые новые данные, которых у нее еще нет.
Для настольного приложения (Python) я просто выполнил аутентификацию вручную, нажав на конечную точку дескриптора Dropbox с помощью моего ключа приложения Dropbox (в браузере), а затем используя «код», который я получил от этого, чтобы, наконец, получить доступ маркер. Поэтому я жестко запрограммировал этот токен в своем рабочем приложении, и он обходит процесс oAuth и просто использует токен для аутентификации. Он загружает данные просто отлично.
Но, хотя API-интерфейс Dropbox API Python позволяет мне это сделать, я не уверен, как это сделать с API-интерфейсом android dropbox. Я просматривал классы в JavaDocs для API, но мне кажется, что я должен пройти процесс oAuth, чтобы получить AccessTokenPair для аутентификации (который, как представляется, состоит из ключа и тайны). Могу ли я не просто предоставить тот же токен, который я использую в настольном приложении для некоторого объекта (возможно, экземпляр DropboxAPI), чтобы получить аутентификацию?
Теперь я понимаю, что такой вид использования Dropbox, вероятно, не очень интуитивно понятен, но сейчас я инвестирован, поэтому хотел бы, чтобы он работал, если можно.
EDIT:
кажется, что вы можете избежать того, чтобы пройти через процесс OAuth, если у вас есть AccessTokenPair (или его значения), сохраненные из предыдущего сеанса аутентификации. Похоже, что AccessTokenPair - это просто оболочка для двух строк: ключ и секрет. Поэтому я полагаю, что мой вопрос сейчас, каковы эти два значения. У меня есть токен доступа, который представляет собой строку длиной 64 символа, которую мое настольное приложение успешно использует для аутентификации. Могу ли я использовать это для создания объекта AccessTokenPair, и, если можно, это ключ или секрет, и что мне не хватает?
РЕШЕНИЕ:
Как Smarx сказал, проблема заключается в том, что клиенты Android и IOS Dropbox использовать OAuth1 а Python, Рубин, PHP и Java клиентов используют oAuth2. Итак, я фактически закончил процесс oAuth1 для Android, зарегистрировав полученный ключ доступа и секретный, а затем жестко кодируя их для будущего использования, чтобы обойти процесс oAuth. Кажется, он работает нормально.
Я думаю, что вы будете искать это http://stackoverflow.com/questions/17484389/using-saved-dropbox-authentication-details-on-android –
или этот http://stackoverflow.com/questions/12275100/is-there-a-way-to-use-dropbox-for-authentication -without-re-authorization? rq = 1 –