我昨天向Twitter4j介绍了自己,现在正在测试我的即将推出的程序的功能。如标题所示,我试图将图像上传到Twitter,但没有任何运气。这是我的代码:
import static java.awt.Toolkit.getDefaultToolkit;
import static javax.swing.JOptionPane.ERROR_MESSAGE;
import static javax.swing.JOptionPane.showMessageDialog;
import java.awt.Image;
import java.io.File;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.examples.tweets.UploadMultipleImages;
import twitter4j.media.ImageUpload;
import twitter4j.media.ImageUploadFactory;
public final class UpdateStatus {
static File file = new File("/images/Done.jpg");
public static void main(String[] args) {
for(int i=0;i<2;i++){
Twitter twitter = new TwitterFactory().getInstance();
Status status=null;
try {
ImageUpload.upload(file,"22");
} catch (TwitterException e) {
System.err.println("Shit...");
System.exit(3);
}
}
System.out.println("Done");
}
}
我要上传的图像是Done.jpg,位于程序包的文件夹中。我已经在其他程序中将这种方法用于图像,所以我很确定它可以工作。但是,这在运行代码之前给了我一条错误消息,提示“无法对类型为ImageUpload的非静态方法upload(File,String)进行静态引用”。有什么想法对我有帮助吗? :D
在测试代码之前,您需要确保遵循以下条件-
拥有必需的访问令牌后,需要使用这些令牌实例化Twitter实例。然后可以使用该实例执行必要的操作。请参阅下面的示例代码以上传图片-
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 = "Watch out this interesting offer I came across today";
File file = new File("/images/Done.jpg");
StatusUpdate status = new StatusUpdate(statusMessage);
status.setMedia(file); // set the image to be uploaded here.
twitter.updateStatus(status);
希望这会有所帮助。
ImageUpload.upload
不是静态方法,而是实例方法。
您需要创建ImageUpload的实例,然后从该实例中调用该方法。
检查documentation of ImageUpload,它是一个接口。因此,您需要实例化一个实现ImageUpload的类。