【问题标题】:Twitter, Twitter4j and ImageTwitter、Twitter4j 和图像
【发布时间】:2015-06-28 10:09:45
【问题描述】:

是否可以使用 Twitter4J 在一条推文中上传多个图像?

我在官方文档上找不到任何东西。

谢谢。

【问题讨论】:

    标签: java api twitter twitter4j


    【解决方案1】:

    你可以试试下面的方法,如果你有更多的图片要上传,你可以使用循环或函数。

        ConfigurationBuilder twitterConfigBuilder = new ConfigurationBuilder();
        twitterConfigBuilder.setDebugEnabled(true);
        twitterConfigBuilder.setOAuthConsumerKey("consumerkey");
        twitterConfigBuilder.setOAuthConsumerSecret("consumersecret");
        twitterConfigBuilder.setOAuthAccessToken("accesstoken");
        twitterConfigBuilder.setOAuthAccessTokenSecret("accesstokensecret");
    
        Twitter twitter = new TwitterFactory(twitterConfigBuilder.build()).getInstance();
        String statusMessage = "Hey I am posting 2 images of xyz event";
        File imagefile1 = new File("/images/image_1.jpg");
        File imagefile2 = new File("/images/image_2.jpg");
    
        long[] mediaIds = new long[2];
        UploadedMedia media1 = twitter.uploadMedia(imagefile1);
        mediaIds[0] = media1.getMediaId();
        UploadedMedia media2 = twitter.uploadMedia(imagefile2);
        mediaIds[1] = media2.getMediaId();
    
        StatusUpdate statusUpdate = new StatusUpdate(statusMessage);
        statusUpdate.setMediaIds(mediaIds);
        Status status = twitter.updateStatus(statusUpdate);
    

    【讨论】:

      【解决方案2】:

      上传MultipleImages.java

      package twitter4j.examples.tweets; 
      
      
      import java.io.File;
      
      
      import twitter4j.Status;
      import twitter4j.StatusUpdate;
      import twitter4j.Twitter;
      import twitter4j.TwitterException;
      import twitter4j.TwitterFactory;
      import twitter4j.UploadedMedia; 
      
      
      /** 
       * Example application that uploads multiple images.<br> 
       * 
       * @author Hiroaki TAKEUCHI - takke30 at gmail.com 
       */ 
      public final class UploadMultipleImages { 
          /** 
           * Usage: java twitter4j.examples.tweets.UploadMultipleImages [text] [file1] [file2] ... 
           * 
           * @param args message 
           */ 
          public static void main(String[] args) {
              if (args.length < 1) {
                  System.out.println("Usage: java twitter4j.examples.tweets.UploadMultipleImages [text] [file1] [file2] ...");
                  System.exit(-1);
              } 
              try { 
                  Twitter twitter = new TwitterFactory().getInstance();
      
                  long[] mediaIds = new long[args.length-1];
                  for (int i=1; i<args.length; i++) {
                      System.out.println("Uploading...[" + i + "/" + (args.length-1) + "][" + args[i] + "]");
                      UploadedMedia media = twitter.uploadMedia(new File(args[i]));
                      System.out.println("Uploaded: id=" + media.getMediaId()
                              + ", w=" + media.getImageWidth() + ", h=" + media.getImageHeight()
                              + ", type=" + media.getImageType() + ", size=" + media.getSize());
                      mediaIds[i-1] = media.getMediaId();
                  } 
      
                  StatusUpdate update = new StatusUpdate(args[0]);
                  update.setMediaIds(mediaIds);
                  Status status = twitter.updateStatus(update);
                  System.out.println("Successfully updated the status to [" + status.getText() + "][" + status.getId() + "].");
                  System.exit(0);
              } catch (TwitterException te) {
                  te.printStackTrace();
                  System.out.println("Failed to update status: " + te.getMessage());
                  System.exit(-1);
              } 
          } 
      } 
      

      网址 https://github.com/yusuke/twitter4j/blob/master/twitter4j-examples/src/main/java/twitter4j/examples/tweets/UploadMultipleImages.java

      【讨论】:

        猜你喜欢
        • 2013-05-04
        • 1970-01-01
        • 2017-05-18
        • 1970-01-01
        • 2013-07-23
        • 2013-07-04
        • 1970-01-01
        • 2013-06-09
        • 2012-08-03
        相关资源
        最近更新 更多