簡體   English   中英

Twitter,Twitter4j和圖片

[英]Twitter, Twitter4j and Image

使用Twitter4J是否可以在推文中上傳多個圖片?

我在官方文檔中找不到任何內容。

謝謝。

您可以嘗試以下類似操作,如果要上傳的圖像數量更多,則可以使用循環或功能。

    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);

UploadMultipleImages.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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM