如何在安卓设备上使用Twitter发送图片私信?

3

我想使用twitter4j向粉丝发送带有文本的图片。我已经可以像这样发送直接消息:

twitter.sendDirectMessage(twitterID, message);

现在,我不知道如何发送图片作为直接消息。我已经通过以下方式发布了推文:

StatusUpdate status = new StatusUpdate(message);
            status.setMedia(pathOfTheFileToSend);
            twitter.updateStatus(status);

使用twitter4j库可以在Twitter中直接发送图片吗?

提前感谢。

4个回答

2
首先值得注意的是Twitter4j的作用。它为Java提供了对Twitter REST API的良好抽象和绑定。
如果您查看Twitter的Direct Message Endpoint,您会发现它目前提供在发送直接消息时“附加”图像的方法。
这在之前已经在Twitter Developers论坛上得到确认:

我们还没有宣布为直接消息提供媒体上传端点的计划。


1

我找到了一种方法,在我的Java项目中为DM添加图像,使用以下代码:

...
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
//Get the User ID from the Screen Name
User user = twitter.showUser("screenName"); //@Hec_KuFlow for example
long userId = user.getId();
//The message to send
String message = "Hi! this is the message";
//Upload the file and get the ID
File imageFile = new File("C:\\demo\\picture.png");
long[] mediaIds = new long[1];
UploadedMedia media = twitter.uploadMedia(imageFile);
mediaIds[0] = media.getMediaId();

DirectMessage directMessage = twitter.directMessages().sendDirectMessage(userId, message, mediaIds[0]) throws TwitterException;

...


-1
请使用以下代码发送带文本的图片:
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();

   configurationBuilder.setOAuthConsumerKey(context.getResources().getString(R.string.twitter_consumer_key));

     configurationBuilder.setOAuthConsumerSecret(context.getResources().getString(R.string.twitter_consumer_secret));

configurationBuilder.setOAuthAccessToken(LoginActivity.getAccessToken((context)));

configurationBuilder.setOAuthAccessTokenSecret(LoginActivity.getAccessTokenSecret(context));

Configuration configuration = configurationBuilder.build();

Twitter twitter = new TwitterFactory(configuration).getInstance();

StatusUpdate status = new StatusUpdate(message);

status.setMedia(file); // set the image to be uploaded here.

twitter.updateStatus(status);

如需详细解释,请查看tutorial


发布推文,不是直接私信。 - OiRc

-2
public void tweetPicture(File file, String message) throws Exception  {

  try{

    StatusUpdate status = new StatusUpdate(message);
    status.setMedia(file);
    mTwitter.updateStatus(status);}

    catch(TwitterException e){
        Log.d("TAG", "Pic Uploading error" + e.getErrorMessage());
        throw e;
    }

}

或者你可以推荐这个


这个,发一条推文,点赞在上面,不是直接私信。 - OiRc
是的,它对我有效。我还给了你一个链接,所以你也可以在那里看到。 - Vaishali Sutariya
我知道如何在推特上发布图片。但是我不知道如何发送直接消息,你看到我的问题了吗? - OiRc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接