While integrating our mobile application with Twitter, I want to share the steps.
1 - Create you application in Twitter developer page using the mentioned link : https://dev.twitter.com/apps/new
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).
No comments:
Post a Comment