【问题标题】:Integrating twitter4j and Coldfusion To Post Tweets and Upload Image to Posted Tweet集成 twitter4j 和 Coldfusion 来发布推文并将图像上传到发布的推文
【发布时间】:2015-05-27 20:32:52
【问题描述】:

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

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

【问题讨论】:

  • 在我看来,您正在发送两种不同的状态:一种是文本,一种是图像。所以,是的,他们会分开。谷歌搜索了一下,我发现另一个 S/O 答案显示在一个状态消息中发送文本和图像:stackoverflow.com/a/12740436/894061。这行得通吗?
  • 不,我已经尝试过这条路线,但似乎在 CF11 中不起作用。但是我会重新考虑它,因为它花了很长时间来解决 updateStatus1= twitter.UploadMedia(createObject('java','java.io.File').init('c:\\31CC6E16-B55F-704E-C1A14391632DCFD2_medium.jpg')); 并且我可能已经离开了左外野。

标签: java twitter coldfusion twitter4j


【解决方案1】:

经过自己长时间的研究和试验,我发现这是要使用的代码:

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

【讨论】:

    猜你喜欢
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 2013-07-06
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多