我是Android新手。 我正在推特上传图像/视频。我为此目的使用了twitpic。 我首先将图像发送到twitpic,然后使用推文的url更新twitter中的状态。 根据我在图库中的选择,图片已成功加载。
但我仍然坚持在Twitter上传视频。因为上传视频可以选择twitpic或twitvid。但是没有给出这种类型的代码或sdk。很困惑,如何做到这一点,必须使用哪些类。
我需要一个示例代码来上传视频。
答案 0 :(得分:2)
我自己也坚持了一段时间(周围没有很多例子),并且在SO上发现了一个非常有效的例子,我已经成功地成型了......
首先,您需要twitvid Java API
1下载jar文件(我使用twitvid-java 1.6.1)
2将它放在你的“libs”文件夹中
3右键单击您的项目并转到“属性”
4选择“Java构建路径”并包含jar(“libraries”选项卡)并确保它已构建(“order and export”选项卡)
下面的代码假设您已经使用常规的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!)