While integrating our mobile application with Twitter, I want to share the steps.
2 - Fill all the details mentioned in the Twitter new application page, and create a new app.
3 - Now, Once your application will create, it will give you these information.
- Consumer key
- Consumer secret
- Access token
- Access token secret
Now, there are two ways to integrate Twitter with your mobile.
a - Single User Implementation :
This
works only for a single user. It means, only one user will register
with the application, and every time when user want to post any data in
Twitter, it will post only to his/her Twitter page.
This can be achieved by this way :
//Get authorization to twitter.
Credential credentials = new Credential(consumerKey, consumerSecret, accessToken);
//Create account manager for tweet the post.
UserAccountManager accManager = UserAccountManager.getInstance(credentials);
//Verify credentials and post to twitter
try {
if(accManager.verifyCredential()) {
Dialog.alert("Authenticated");
//post data to Twitter
}else{
Dialog.alert("Authentication Failed");
}
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("IOException Occured: "+e.getMessage());
e.printStackTrace();
} catch (LimitExceededException e) {
// TODO Auto-generated catch block
System.out.println("LimitExceededException Occured: "+e.getMessage());
e.printStackTrace();
}
b - Multiple User Implementation :
This works for multiple user. Any user can enter his username and password, and post data to his/her twitter profile.
For this, first our application should be authorized by Twitter. To do this, we need to send an Authorization mail to
api@twitter.com. Once, the application will authorize, you will get a confirmation mail.
Now, to share your post to Twitter, do this :
Credential credentials = new Credential("username or email", "password", "consumerKey", "consumerSecret");
UserAccountManager accManager = UserAccountManager.getInstance(credentials);
//If your application is authenticated then it returns token value, else return null.
Token token = accManager.getAccessToken();
try {
if(accManager.verifyCredential()) {
Dialog.alert("Authenticated");
//post data to Twitter
}else{
Dialog.alert("Authentication Failed");
}
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("IOException Occured: "+e.getMessage());
e.printStackTrace();
} catch (LimitExceededException e) {
// TODO Auto-generated catch block
System.out.println("LimitExceededException Occured: "+e.getMessage());
e.printStackTrace();
}
-
Here cunsumerKey and consumerSecret are reference to the application.
And token is reference to authorized user. If your application is not
authorized, application will throw Http 401 error (Unauthorized
Exception).