Ответ 1
Вот как это работает... вы вызываете URL-адрес для проверки подлинности (открываете веб-браузер). URL-адрес аутентификации должен содержать URL-адрес обратного вызова. URL-адрес обратного вызова обычно выглядит следующим образом: x-your-application-name-oauth-twitter://callback
(*).
Второй шаг - добавить фильтр намерения к вашему Activity
(для реализации twitter auth требуется, чтобы вы знали, как работает Android (если вы не найдете учебник, который сделает все для вас, но я думаю, что не так, кажется, вам кажется, быть умным парнем, не так ли?)). Что бы вы ни делали, добавив что-то подобное в ваш манифест:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="x-your-application-name-oauth-twitter" android:host="callback"/>
</intent-filter>
Это в основном способ сказать ОС Android: "Эй, чувак, я могу обрабатывать любой URL, который выглядит как x-your-application-name-oauth-twitter://callback
". Таким образом, после аутентификации пользователя твиттер вызовет этот URL-адрес, и ваше приложение вернет элемент управления.
Обычно ваша активность должна быть создана с помощью тега android:launchMode="singleTask"
, тогда вы должны переопределить метод onNewIntent
вашей активности, который будет вызываться после того, как ваше приложение снова получит элемент управления. Внутри Intent
вы найдете информацию о обратном вызове.
(*) Создание URL-адреса, который вы должны запустить (и который позволит пользователям аутентифицироваться), как-то сложно. OAuth - это хороший, но довольно сложный для изучения стандарт. Таким образом, вы можете использовать сторонние библиотеки, которые помогут вам в этом. Например, вы можете использовать java-библиотеку Oauth Signpost. Тем не менее, я бы рекомендовал вам придерживаться библиотеки twitter4j, которая поможет вам с OAuth, а также позволит вам взаимодействовать с API Twitter.