如何在 android 中使用 Twitter kit 3 在 Twitter 中分享视频?

Posted

技术标签:

【中文标题】如何在 android 中使用 Twitter kit 3 在 Twitter 中分享视频?【英文标题】:How to share video in Twitter using Twitter kit 3 in the android? 【发布时间】:2018-03-21 11:01:52 【问题描述】:

去除织物后,现在在android中使用Twitter kit 3

案例:

我需要在不打开Twitter Composer的情况下分享文字、图片和视频

我正在通过StatusesService的方法使用twitter kit 3分享文本、图像和视频

所以我可以使用以下代码分享文本:

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他们只是提示图片上传和我还检查了他们的文档。

现在如何使用StatuesServices 或任何其他方法在 Twitter 工具包 3 中分享视频?

【问题讨论】:

【参考方案1】:

1) 原生视频上传支持仅适用于ios(见附件部分)

2) 快速解决方法您可以将视频转换为 gif 并上传。

3) 正确的解决方案

您可以extend 套件,并使用the media/uploads endpoint。

查看此内容以发出post 请求。

【讨论】:

是的,它是正确的,我已经通过 twitter4j 完成了它,但不幸的是它不能通过扩展它在 twitter sdk 中工作,因为 INIT 和 APPEND 有效,在 FINALIZE 步骤之前检查状态时,它会抛出错误 @Optional 错误是什么。你能分享你的 json 负载和响应吗? 公平地说,没有。但我已经看到它在不使用 Composer Api 的情况下被扩展和实现。 是的@optional,但它有问题 要走的路。干杯@KoVartthan【参考方案2】:

它正在使用 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();
    

【讨论】:

以上是关于如何在 android 中使用 Twitter kit 3 在 Twitter 中分享视频?的主要内容,如果未能解决你的问题,请参考以下文章

Twitter 如何在 Android Studio 中使用 Fabric 插件获取用户个人资料图片

从结构中删除后,如何将 twitter 集成到 android 中以进行 twitter 登录?

如何使用 Android Studio 在 Twitter Kit 的 TweetUI 列表上设置 OnItemClickListener?

如何在按钮点击 android - twitter4j 上获取 twitter 热门话题?

如何使用适用于 Android 的 Fabric Sdk 从 Twitter 注销

android:如何从 twitter 获取趋势?