我在ColdFusion中安装了twitter4j.jar,它正在运行。我可以使用cfscript发布推文,没问题。我也可以同时上传图片和推文。我只是无法上传图片并发布推文并让推文显示图片?
<cfscript>
configBuilder = createObject("java", "twitter4j.conf.ConfigurationBuilder");
configBuilder.setOAuthConsumerKey('#consumerKey#');
configBuilder.setOAuthConsumerSecret('#consumerSecret#');
configBuilder.setOAuthAccessToken('#accessToken#');
configBuilder.setOAuthAccessTokenSecret('#accessTokenSecret#');
config = configBuilder.build();
twitterFactory = createObject("java", "twitter4j.TwitterFactory").init(config);
twitter = twitterFactory.getInstance();
//twitterimage=twitter.ImageUploadFactory.getInstance();
screenName = twitter.getScreenName();
//followers_list= twitter.getfollowerslist();
updateStatus1= twitter.UploadMedia(createObject('java','java.io.File').init('c:\\31CC6E16-B55F-704E-C1A14391632DCFD2_medium.jpg'));
updateStatus2 = twitter.updateStatus("Whats Up39");
id = updateStatus2.getId(); // id of the status posted
</cfscript>
运行脚本后返回
Tweet ID:580354904000192513
Pic ID:580354903106682880
所以我知道图片正在上传。推文在那里,但没有图像。关于我做错了什么想法?
答案 0 :(得分:0)
经过长时间的研究和试验,我发现这是使用的代码:
<cfscript>
configBuilder = createObject("java", "twitter4j.conf.ConfigurationBuilder");
configBuilder.setOAuthConsumerKey('#OAuthConsumerKey#');
configBuilder.setOAuthConsumerSecret('#OAuthConsumerSecret#');
configBuilder.setOAuthAccessToken('#OAuthAccessToken#');
configBuilder.setOAuthAccessTokenSecret('#OAuthAccessTokenSecret#');
config = configBuilder.build();
imageFactory = createObject("java", "twitter4j.media.ImageUploadFactory").init(config);
image = imageFactory.getInstance();
updateStatus = image.upload(createObject('java','java.io.File').init('C:\Path\To\Your\Image.jpg'), 'Your Message');
</cfscript>