集成twitter4j和Coldfusion发布推文并将图片上传到发布的推文

时间:2015-03-24 13:40:45

标签: java twitter coldfusion twitter4j

我在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

所以我知道图片正在上传。推文在那里,但没有图像。关于我做错了什么想法?

1 个答案:

答案 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>