Blogger Profile Update

Category:

Here is the code for blogger profile update. The code is written using Apache HttpClient. Authorization to Blogger is obtained using ClientLogin method of Google Data API.


import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;

import com.google.gdata.client.GoogleAuthTokenFactory;
import com.google.gdata.util.AuthenticationException;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.apache.http.HttpEntity;

public class BloggerProfiler {

public static void main(String[] args) throws Exception {

String username = "synchrona.group@gmail.com";
String password = "xxxxxx";
String serviceName = "blogger";

GoogleAuthTokenFactory factory = new GoogleAuthTokenFactory(serviceName, "", null);
// Obtain authentication token from Google Accounts
String token = factory.getAuthToken(username, password, null, null, serviceName, "");
//System.out.println(token);

String serviceUrl = "http://www.blogger.com/home";
String loginUrl = "https://www.blogger.com/start?continue=" +
URLEncoder.encode(serviceUrl, "UTF-8") + "&auth=" + token;

HttpClient httpclient = new DefaultHttpClient();
HttpGet httpgetHome = new HttpGet(loginUrl);
HttpResponse response = httpclient.execute(httpgetHome);

HttpEntity entity = response.getEntity();
//System.out.println("Status: " + response.getStatusLine());
if (entity != null) {
//System.out.println("Blogger profile page: "+EntityUtils.toString(entity));
entity.consumeContent();
}

String securityToken ="";
String security_token ="";
String USIradio = "";
String USIerror = "";

HttpGet httpgetEdit = new HttpGet("http://www.blogger.com/edit-profile.g");
response = httpclient.execute(httpgetEdit);
entity = response.getEntity();
System.out.println("Status: " + response.getStatusLine());
if (entity != null) {
String editPage = EntityUtils.toString(entity);
String[] array = editPage.split("securityToken\" type=\"hidden\" value=\"");
array = array[1].split("\">");
securityToken = array[0];
array = editPage.split("security_token\" value=\"");
array = array[1].split("\">");
security_token = array[0];
array = editPage.split("id=\"USI_");
array = array[1].split("_asynchronous");
String USI = array[0];
USIradio = "USI_"+USI+"_imgSrcRadio";
USIerror = "USI_"+USI+"_imgUrlTextError";
//System.out.println("1:"+securityToken);
//System.out.println("2:"+security_token);
//System.out.println("3:"+USI);
entity.consumeContent();
}

//update profile
HttpPost httpostProfile = new HttpPost("http://www.blogger.com/edit-profile.do");
List nvps = new ArrayList ();
nvps.add(new BasicNameValuePair("securityToken",securityToken));
nvps.add(new BasicNameValuePair("security_token" ,security_token));
nvps.add(new BasicNameValuePair("enable","true"));
nvps.add(new BasicNameValuePair("showName" ,"true"));
nvps.add(new BasicNameValuePair("showEmail","true"));
//nvps.add(new BasicNameValuePair("showFollowed","true"));//check
nvps.add(new BasicNameValuePair("email" ,"synchrona.group@gmail.com"));
nvps.add(new BasicNameValuePair("widget.displayname","Synchrona"));
nvps.add(new BasicNameValuePair("firstname" ,"Eureka" ));
nvps.add(new BasicNameValuePair("lastname" ,"" ));

nvps.add(new BasicNameValuePair("photourl" ,""));
nvps.add(new BasicNameValuePair("photowidth" ,""));
nvps.add(new BasicNameValuePair("photoheight" ,""));
//nvps.add(new BasicNameValuePair("USI_1pqgkpdqj4c5y_imgSrcRadio" ,"on"));
nvps.add(new BasicNameValuePair("imageFileName" ,""));
nvps.add(new BasicNameValuePair(USIradio ,"on"));
nvps.add(new BasicNameValuePair(USIerror ,""));

nvps.add(new BasicNameValuePair("audioclipurl" ,""));
nvps.add(new BasicNameValuePair("gender" ,"FEMALE" ));
//
nvps.add(new BasicNameValuePair("birthmonth" ,""));
nvps.add(new BasicNameValuePair("birthday" ,""));
nvps.add(new BasicNameValuePair("birthyear" ,"" ));
nvps.add(new BasicNameValuePair("showAstrologicalSigns" ,"true" ));
nvps.add(new BasicNameValuePair("url" ,""));
nvps.add(new BasicNameValuePair("wishlisturl" ,"" ));
nvps.add(new BasicNameValuePair("imusername" ,"" ));
nvps.add(new BasicNameValuePair("imnetwork","_nil_"));//JABBER etc
nvps.add(new BasicNameValuePair("widget.city" ,""));
nvps.add(new BasicNameValuePair("widget.state" ,""));
nvps.add(new BasicNameValuePair("widget.country" ,"_nil_"));
nvps.add(new BasicNameValuePair("ind" ,"_nil_"));
nvps.add(new BasicNameValuePair("occupation" ,"" ));
nvps.add(new BasicNameValuePair("interests",""));
nvps.add(new BasicNameValuePair("widget.aboutme","I am a great project!:)" ));
nvps.add(new BasicNameValuePair("movies" ,"MATRIX"));
nvps.add(new BasicNameValuePair("music" ,""));
nvps.add(new BasicNameValuePair("books" ,""));
nvps.add(new BasicNameValuePair("wackyQuestion" ,""));
nvps.add(new BasicNameValuePair("wackyAnswer" ,""));
//
nvps.add(new BasicNameValuePair("submitButton" ,"Save"));

httpostProfile.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
response = httpclient.execute(httpostProfile);
entity = response.getEntity();
System.out.println("Profile update: " + response.getStatusLine());
if (entity != null) {
System.out.println("Profile edit page: "+EntityUtils.toString(entity));
entity.consumeContent();
}

httpclient.getConnectionManager().shutdown();


}
}

Comments (0)

Post a Comment