что такое обычный способ работы с этим типом аутентификации twitter. Я не думаю, что я делаю это правильно, прямо сейчас у меня есть эта активность:twitter4j OAuth Android
Таким образом, пользователь для того, чтобы подтвердить подлинность приложения они должны получить штифт, который они должны получить, нажав на кнопке Pin.
, который имеет этот код:
@
Override
protected String doInBackground(Void...params) {
String s = null;
twitter = TwitterFactory.getSingleton();
twitter.setOAuthConsumer("XXXX", "XXXXX");
try {
requestToken = twitter.getOAuthRequestToken();
s = requestToken.getAuthorizationURL();
} catch (TwitterException e) {
e.printStackTrace();
}
return s;
}
@
Override
protected void onPostExecute(String url) {
Intent intent = new Intent(AuthenticateActivity.this, Oauth_web_view.class);
intent.putExtra("url", url);
startActivity(intent);
}
}
, который принимает их на другой вид деятельности, который является просто WebView и позволяет им получить свой палец, после того, что они вводят их контактный, они должны представить палец, который он нажмет отправьте PIN-код, есть этот код.
class AddUserCreds extends AsyncTask < Void, String, String > {
@
Override
protected String doInBackground(Void...urls) {
//String url = urls[0];
String pin = txtPin.getText().toString();
System.out.println(pin);
// try{
// if(pin.length() > 0){
try {
accessToken = twitter.getOAuthAccessToken(requestToken, pin);
// Shared Preferences
Editor e = mSharedPreferences.edit();
// After getting access token, access token secret
// store them in application preferences
e.putString("PREF_KEY_OAUTH_TOKEN", accessToken.toString());
// Store login status - true
e.putBoolean("PREF_KEY_TWITTER_LOGIN", true);
e.commit(); // save changes
Log.e("Twitter OAuth Token", "> " + accessToken.getToken());
} catch (TwitterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// }
// } catch (TwitterException te) {
// if(401 == te.getStatusCode()){
// // System.out.println("Unable to get the access token.");
// }else{
// te.printStackTrace();
// }
// }
return "done";
//
}
@
Override
protected void onPostExecute(String url) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(AuthenticateActivity.this);
alertDialogBuilder.setMessage("You've been authenticated" + url);
alertDialogBuilder.show();
}
он работал один раз, и он добавил свой твиттер аккаунт Дев на фальшивый счет, я сделал, но теперь, если я запускаю его снова ломается, потому что это уже проверка подлинности. Есть ли способ проверить, если я уже прошел проверку подлинности? так что им не нужно проходить этот процесс? Есть ли более упорядоченный процесс получения подлинности?