0

我是安卓新手。我正在努力在 Twitter 上上传图片/视频。为此,我使用了 twitpic。我首先将图像发送到 twitpic,然后使用推文的 url 更新 twitter 中的状态。根据我从图库中的选择成功加载图像。

但我被困在推特上上传视频。因为上传视频有 twitpic 或 twitvid 选项。但是没有给出这种类型的代码或 sdk。很困惑如何做到这一点,必须使用哪些类。

我需要一个上传视频的示例代码。

4

1 回答 1

2

我自己也被困了一段时间(周围没有很多例子),并在 SO 上找到了一个不起作用的例子,我已经设法塑造它......

首先你需要twitvid Java API

1 下载jar文件(我用的是twitvid-java 1.6.1)

2把它放在你的“libs”文件夹中

3 右键单击​​您的项目并转到“属性”

4 选择“Java 构建路径”并包含 jar(“库”选项卡)并确保它已构建(“订购和导出”选项卡)

下面的代码假设您已经使用常规 twitter4j 方法制作了一个令牌:

private void postToTwitvid(String videoPath){

    AccessToken token = mTwitter.getAccessToken();

    Values values = new Values();
    values.setSession(new Session());
    TwitvidApi api = new TwitvidApi(values);
            api.setSecureUrlEnabled(false);

            Session session;
            try {
                session = api.authenticate(new TwitterAuthPack.Builder()
                .setConsumerKey(twitter_consumer_key)
                .setConsumerSecret(twitter_secret_key)
                .setOAuthToken(token.getToken())
                .setOAuthTokenSecret(token.getTokenSecret())
                .build());

                api.getValues().setSession(session);

                final UploadHelper helper = new UploadHelper(api);

                File file=new File(videoPath);
                TwitvidPost twitvidPost = new TwitvidPost.Builder()
                        .setFile(file).setChunkSize(10485760)
                        .setMessage("Twitvid test")
                        .setPostToTwitter(true)
                        .create();
                try {
                    if (helper.upload(twitvidPost))
                    {
                        Toast.makeText(TwitterShare.this, "Posted on Twitter and Twitvid", Toast.LENGTH_LONG).show();
                    } 
                    else 
                    {
                        Toast.makeText(TwitterShare.this, "Post failed", Toast.LENGTH_LONG).show();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }

            } catch (ApiException e1) {
                e1.printStackTrace();
            }



}

令牌取决于您如何实现定期发布到 twitter,只需包括您的。希望这可以帮助!

PS:我不得不强制 UI 线程接受网络连接才能完成这项工作

(我的第一个答案!w00t!)

于 2012-09-10T10:18:23.977 回答