Как поделиться видео в твиттере, используя 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();
    }
}
Другие вопросы по тегам