Как войти в Twitter, используя Oauth из моего приложения для Android? - PullRequest
3 голосов
/ 09 сентября 2010

Я делаю приложение, которое является клиентом Twitter.Это означает, что он подключается к Twitter с помощью OAuth.Я зарегистрировал свое приложение в Twitter и получил все свои ключи, но теперь у меня нет идеи, как связать мое приложение с Twitter.Я сделал несколько упоминаний кода ниже.Пожалуйста, помогите мне ..

Twitter twitter=new TwitterFactory().getInstance();
twitter.setOAuthConsumer(Consumer key, Consumer secret);
RequestToken requestToken = twitter.getOAuthRequestToken();
AccessToken accessToken=null;
Log.i("Acces Token",accessToken.getToken());     
Log.i("Acces Tokensec",accessToken.getTokenSecret());

Заранее спасибо.

Ответы [ 2 ]

8 голосов
/ 09 сентября 2010

У вас есть два варианта. Номер один проще. Номер два сложнее.

Номер один просто продолжается с того места, где вы остановились. После того, как вы получите requestToken, вам нужно будет запустить WebView и указать URL-адрес на requestToken.getAuthorizationURL(). Затем пользователь войдет в систему и решит, разрешить ли ему доступ к его / ее учетной записи. Затем, если он / она нажмет кнопку «Разрешить», будет отображен код доступа, который пользователь должен скопировать / вставить в собственном приложении. Вы будете использовать этот ключ с getOAuthAccessToken() (я думаю, я использовал сложный способ, описанный ниже), чтобы получить токен аутентификации, который вы должны где-то хранить постоянно. На данный момент вы заверены.

Номер два также продолжается, где вы остановились минус одна деталь ... twitter.getOAuthRequestToken(REDIRECT_URL). Этот redirect_url должен быть сначала установлен в вашей учетной записи твиттера. Затем выполните те же шаги, что и на первом месте, за исключением того, что ваше веб-представление необходимо настроить. Вам нужно использовать setWebViewClient() на вашем WebView и создать новый класс, который расширяет WebViewClient. В onPageStarted WebViewClient проверьте, начинается ли URL с вашего обратного URL. А затем получите информацию о oauth:

String oauth_token = uri.getQueryParameter("oauth_token");
String oauth_verifier = uri.getQueryParameter("oauth_verifier");

Используйте oauth_verifier с twitter.getOAuthAccessToken(), чтобы получить свой токен.

1 голос
/ 09 сентября 2010

Если полное веб-перенаправление OAuth неудобно, вы можете попробовать использовать сервисный метод Twitter xAuth , чтобы просто преобразовать набор учетных данных Twitter в токен доступа OAuth (сделать это один раз и сохранить токен ). Гораздо проще в мобильных приложениях, но вам нужно запросить у Twitter разрешение на использование xAuth по электронной почте api@twitter.com.

Вы также можете проверить другой вопрос по StackOverflow для получения дополнительной информации по этому вопросу.

Если ваша проблема заключается в том, как на самом деле реализовать взаимодействия OAuth, вы можете проверить информацию о библиотеке OAuth в Twitter и / или документацию по библиотеке, которую вы уже используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...