Как поделиться видео в твиттере, используя Twitter kit 3 в андроиде?
После удаления ткани теперь в андроиде используется Twitter kit 3
Случай:
Мне нужно поделиться текстом, изображением и видео, не открывая
Twitter Composer
Я делюсь текстом, изображением и видео, используя Twitter Kit 3, используя метод
StatusesService
Так что я могу поделиться текстом, используя следующий код:
final TwitterSession session = TwitterCore.getInstance().getSessionManager().getActiveSession(); StatusesService statusesService = TwitterCore.getInstance().getApiClient(session).getStatusesService(); statusesService.update("Click this link "+getShareLink(),null,null,null,null,null,null,null,null).enqueue(new Callback<Tweet>() { @Override public void success(Result<Tweet> result) { Toast.makeText(context,"Tweet success ",Toast.LENGTH_SHORT).show(); Log.e(TAG,"Twitter "+ result.data.toString()); } @Override public void failure(TwitterException exception) { Toast.makeText(context,"Tweet failure ",Toast.LENGTH_SHORT).show(); Log.e(TAG,"Twitter "+ exception.getMessage()); } });
Для загрузки изображения мы можем использовать
MediaService
и для загрузки его мы можем использоватьMediaService.upload()
метод, но вMediaService
они только предлагают изображения для загрузки, и я также проверил их документы.А теперь как поделиться видео в твиттере 3 с помощью
StatuesServices
или любой другой метод?
3 ответа
1) Встроенная поддержка загрузки видео доступна только для iOS (см. Раздел "Вложение").
2) Быстрый плохой обходной путь Вы можете конвертировать видео в GIF и загрузить его.
3) Правильное решение:
Вы можете расширить набор и использовать конечную точку медиа / загрузки.
Смотрите это, чтобы сделать запрос на пост.
Наконец, я создал библиотеку, перейдите по этой ссылке, поделитесь видео в Twitter, это может быть полезно для других.
Работает на tweet-composer:3.3.0.
Я просто добавил Uri видео в то место, где мы обычно добавляем Uri изображения. Это сработало неожиданно.
private void shareVideoViaTwitter(File file) {
try {
Uri uri = FileProvider.getUriForFile(context, "com.civ.petcam.fileprovider", file);
context.startActivity(new TweetComposer.Builder(context)
.text("This video is made with PetCamera")
.url(new URL("https://play.google.com/store/apps/details?id=com.civ.petcam"))
.image(uri).createIntent().setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
onVideoShareCompleteListener.onVideoShareComplete("twitter");
} catch (Exception ex) {
ex.printStackTrace();
}
}