Note that there are some explanatory texts on larger screens.

plurals
  1. POGetting Exception while Integrating twitter in android
    primarykey
    data
    text
    <p>I have Written the code to Integrate the Twitter in android.In that I am getting the first scrren and when I am writing some message to twitt and click on the twitt button I am getting following Exception as OauthCommunication Exception communication with the service provider failed.I have entered the Consumer key Consumer secrete properly.</p> <pre><code>Public class MainActivity extends Activity { private static final String TAG = "TwitterDemo"; private static final String CONSUMER_KEY = "xxx"; private static final String CONSUMER_SECRET = "xxx"; private static final String CALLBACK_SCHEME = "twitter-OAUTH-test-app"; private static final String CALLBACK_URL = CALLBACK_SCHEME + "://callback"; private static final String TWITTER_USER = "androidtestacc1@gmail.com"; private OAuthSignpostClient oauthClient; private OAuthConsumer mConsumer; private OAuthProvider mProvider; private Twitter twitter; SharedPreferences prefs; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mConsumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET); mProvider = new DefaultOAuthProvider( "http://api.twitter.com/oauth/request_token", "http://api.twitter.com/oauth/access_token", "http://api.twitter.com/oauth/authorize"); prefs = PreferenceManager.getDefaultSharedPreferences(this); String token = prefs.getString("token", null); String tokenSecret = prefs.getString("tokenSecret", null); if (token != null &amp;&amp; tokenSecret != null) { mConsumer.setTokenWithSecret(token, tokenSecret); oauthClient = new OAuthSignpostClient(CONSUMER_KEY, CONSUMER_SECRET, token, tokenSecret); twitter = new Twitter(TWITTER_USER, oauthClient); } else { Log.d(TAG, "onCreate. Not Authenticated Yet " ); new OAuthAuthorizeTask().execute(); } } class OAuthAuthorizeTask extends AsyncTask&lt;Void, Void, String&gt; { @Override protected String doInBackground(Void... params) { String authUrl; String message = null; Log.d(TAG, "OAuthAuthorizeTask mConsumer: " + mConsumer); Log.d(TAG, "OAuthAuthorizeTask mProvider: " + mProvider); try { authUrl = mProvider.retrieveRequestToken(mConsumer, CALLBACK_URL); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)); startActivity(intent); } catch (OAuthMessageSignerException e) { message = "OAuthMessageSignerException"; e.printStackTrace(); } catch (OAuthNotAuthorizedException e) { message = "OAuthNotAuthorizedException"; e.printStackTrace(); } catch (OAuthExpectationFailedException e) { message = "OAuthExpectationFailedException"; e.printStackTrace(); } catch (OAuthCommunicationException e) { message = "OAuthCommunicationException"; e.printStackTrace(); } return message; } protected void onPostExecute(String result) { super.onPostExecute(result); if (result != null) { Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show(); } } } public void tweet(View view) { if (twitter == null) { Toast.makeText(this, "Authenticate first", Toast.LENGTH_LONG) .show(); return; } EditText status = (EditText) findViewById(R.id.editTextTweet); new PostStatusTask().execute(status.getText().toString()); } class PostStatusTask extends AsyncTask&lt;String, Void, String&gt; { @Override protected String doInBackground(String... params) { try { twitter.setStatus(params[0]); return "Successfully posted: " + params[0]; } catch (TwitterException e) { e.printStackTrace(); return "Error connecting to server."; } } @Override protected void onPostExecute(String result) { super.onPostExecute(result); Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show(); } } /* Responsible for retrieving access tokens from twitter */ class RetrieveAccessTokenTask extends AsyncTask&lt;String, Void, String&gt; { @Override protected String doInBackground(String... params) { String message = null; String oauthVerifier = params[0]; try { // Get the token Log.d(TAG, " RetrieveAccessTokenTask mConsumer: " + mConsumer); Log.d(TAG, " RetrieveAccessTokenTask mProvider: " + mProvider); Log.d(TAG, " RetrieveAccessTokenTask verifier: " + oauthVerifier); mProvider.retrieveAccessToken(mConsumer, oauthVerifier); String token = mConsumer.getToken(); String tokenSecret = mConsumer.getTokenSecret(); mConsumer.setTokenWithSecret(token, tokenSecret); Log.d(TAG, String.format( "verifier: %s, token: %s, tokenSecret: %s", oauthVerifier, token, tokenSecret)); // Store token in prefs prefs.edit().putString("token", token) .putString("tokenSecret", tokenSecret).commit(); // Make a Twitter object oauthClient = new OAuthSignpostClient(CONSUMER_KEY, CONSUMER_SECRET, token, tokenSecret); twitter = new Twitter(null, oauthClient); Log.d(TAG, "token: " + token); } catch (OAuthMessageSignerException e) { message = "OAuthMessageSignerException"; e.printStackTrace(); } catch (OAuthNotAuthorizedException e) { message = "OAuthNotAuthorizedException"; e.printStackTrace(); } catch (OAuthExpectationFailedException e) { message = "OAuthExpectationFailedException"; e.printStackTrace(); } catch (OAuthCommunicationException e) { message = "OAuthCommunicationException"; e.printStackTrace(); } return message; } @Override protected void onPostExecute(String result) { super.onPostExecute(result); if (result != null) { Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show(); } } } /* * Callback once we are done with the authorization of this app with * Twitter. */ @Override public void onNewIntent(Intent intent) { super.onNewIntent(intent); Log.d(TAG, "intent: " + intent); // Check if this is a callback from OAuth Uri uri = intent.getData(); if (uri != null &amp;&amp; uri.getScheme().equals(CALLBACK_SCHEME)) { Log.d(TAG, "callback: " + uri.getPath()); String verifier = uri.getQueryParameter(OAuth.OAUTH_VERIFIER); Log.d(TAG, "verifier: " + verifier); Log.d(TAG, " xxxxxxxxxxx mConsumer access token: " + mConsumer.getToken()); Log.d(TAG, " xxxxxxxxxxxx mConsumer access token secret: " + mConsumer.getTokenSecret()); Log.d(TAG, " xxxxxxxxxxxxx OAuth.OAUTH_TOKEN: " + OAuth.OAUTH_TOKEN); Log.d(TAG, " xxxxxxxxxxxxx OAuth.OAUTH_TOKEN_SECRET: " + OAuth.OAUTH_TOKEN_SECRET); new RetrieveAccessTokenTask().execute(verifier); } } public void logout(View view){ SharedPreferences.Editor editor = prefs.edit(); editor.putString("token", null); editor.putString("tokenSecret", null); editor.commit(); finish(); } } </code></pre> <p>error</p> <pre><code>10-19 15:18:55.424: W/System.err(995): oauth.signpost.exception.OAuthCommunicationException: Communication with the service provider failed: http://api.twitter.com/oauth/request_token 10-19 15:18:55.424: W/System.err(995): at oauth.signpost.AbstractOAuthProvider.retrieveToken(AbstractOAuthProvider.java:214) 10-19 15:18:55.438: W/System.err(995): at oauth.signpost.AbstractOAuthProvider.retrieveRequestToken(AbstractOAuthProvider.java:69) 10-19 15:18:55.655: W/System.err(995): ... 9 more </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload