How to build a http post request with the correct entity with Java and not using any library?

后端 未结 3 1368
猫巷女王i
猫巷女王i 2020-12-18 14:26

How should I build the entity to achieve this post request?

POST https://picasaweb.google.com/data/feed/api/user/userID/albumid/albumID/photoid/photoID

<         


        
相关标签:
3条回答
  • 2020-12-18 14:44

    You can use HttpClient from apache httpcomponents to create http requests.

    Find the tutorials here.

    0 讨论(0)
  • 2020-12-18 14:50

    You can use "GDataAPI" and "Guava-libraries".

    PicasawebService myService
        = new PicasawebService("exampleCo-exampleApp-1"); // just id
    myService.setUserCredentials(
        "liz@gmail.com", "mypassword"); // your mailaddress, password
    
    // change "username", "albumid" and "photoid"
    URL feedUrl = new URL(
        "https://picasaweb.google.com/data/feed/api/"
        + "user/username/albumid/albumid/photoid/photoid"); 
    
    CommentEntry myComment = new CommentEntry(); 
    myComment.setContent(
        new PlainTextConstruct("great photo!")); // there is comment
    myService.insert(feedUrl, myComment);
    

    Refere to following URL.

    1. http://code.google.com/intl/ja/apis/picasaweb/docs/2.0/developers_guide_java.html
    2. http://code.google.com/p/gdata-java-client/downloads (GDataAPI Download)
    3. http://code.google.com/p/guava-libraries/ (Guava-libraries)
    0 讨论(0)
  • 2020-12-18 15:01

    It is a sample code using HttpClient.

    I hope this piece of information will be of help to you.

    // yourID
    String userID = "";
    String albumID = "";
    String photoID = "";
    
    HttpPost postRequest = new HttpPost(
        "https://picasaweb.google.com/data/feed/api/user/" + userID
        + "/albumid/" + albumID + "/photoid/" + photoID);
    
    postRequest.addHeader(new BasicHeader("GData-Version", "2.0"));
    postRequest.addHeader(new BasicHeader("Authorization",
        "GoogleLogin auth=" + mAuthToken));
    
    String content = 
        "<entry xmlns='http://www.w3.org/2005/Atom'>"
        + "<content>" + comment + "</content>"
        + "<category scheme='http://schemas.google.com/g/2005#kind'"
        + " term='http://schemas.google.com/photos/2007#comment'/>"
        + "</entry>";
    
    try {
        StringEntity entity = new StringEntity(content);
        entity.setContentType(new BasicHeader("Content-Type",
            "application/atom+xml"));
        postRequest.setEntity(entity);
    
        HttpClient httpclient = new DefaultHttpClient();
        HttpResponse response = httpclient.execute(postRequest);
    
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    
    0 讨论(0)
提交回复
热议问题