Я пытаюсь реализовать размещение фотографий в твиттере.
@Override
public void postOnTwitter(String uuid, String status, String key, String secret) throws AuthenticationException {
Picture picture = pictureRepository.findByUuid(uuid)
.orElseThrow(() -> new ResourceNotFoundException(getPictureNotFoundMessage(uuid)));
TwitterTemplate twitter = new TwitterTemplate(TWITTER_API_KEY, TWITTER_API_KEY_SECRET, key, secret);
PictureResource resource = new PictureResource();
try {
BufferedImage image = ImageIO.read(new File(picture.getCodedFilePath()));
byte[] imageBytes = PictureUtils.bufferedImageToBytes(image, picture.getFormat());
String base64 = Base64.getEncoder().encodeToString(imageBytes);
resource.setData(base64);
resource.setFileName(picture.getAuthor());
} catch (IOException e) {
throw new RuntimeException(e);
}
try {
TweetData tweetData = new TweetData(status).withMedia(resource);
twitter.timelineOperations().updateStatus(tweetData);
} catch (MissingAuthorizationException ex) {
throw new BadCredentialsException(ex.getMessage());
}
}
Когда я пытаюсь опубликовать твит, я улавливаю ошибку java.lang.illegalargumentexception никакой входной поток не указан . Может быть, кто-то реализовал это и может помочь?