在twitter android中上传音频网址

时间:2014-08-26 08:31:26

标签: android twitter

我陷入了Twitter整合。我完成了通过网址上传图片,但我无法将音频或视频网址上​​传到Twitter。 任何帮助表示赞赏。 Thanx伙计们 用于上传youtube网址的Twitter代码:

twitter.updateStatus("This is My Youtube url Test http://youtu.be/pfHxl46KyZM");    

logcat的:

403:The request is understood, but it has been refused. An accompanying error message will explain why. This code is used when requests are being denied due to update limits (https://support.twitter.com/articles/15364-about-twitter-limits-update-api-dm-and-following).
message - Error creating status.
code - 189

Relevant discussions can be found on the Internet at:
    http://www.google.co.jp/search?q=b2b52c28 or
    http://www.google.co.jp/search?q=12c480e1
TwitterException{exceptionCode=[b2b52c28-12c480e1], statusCode=403, message=Error creating status., code=189, retryAfter=-1, rateLimitStatus=null, version=3.0.6-SNAPSHOT}

2 个答案:

答案 0 :(得分:0)

您无法直接将视频上传到Twitter - 他们根本不支持。

请按照以下步骤操作。

1.将视频上传到第三方服务(如YouTube)
2.获取上传视频的公共URL 3.将URL添加到您发送给Twitter的状态 - 例如"看看我的Birtday视频http://youtube.com/id"

如果需要,可以将视频缩略图添加为图像附件

希望这就是你要找的东西。

请注意,但请检查这是否对您有所帮助: -

String videoPath="video file path";

 TwitterSession twitterSession = new TwitterSession(MainActivity.this);

AccessToken accessToken = twitterSession.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(accessToken.getToken())
        .setOAuthTokenSecret(accessToken.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(MainActivity.this, "Posted on Twitter and Twitvid" ,Toast.LENGTH_LONG).show();
    Log.d("MainActivity", "Posted on Twitter and Twitvid");
} else {

Toast.makeText(MainActivity.this, "Post failed", Toast.LENGTH_LONG)

        .show();

Log.d("MainActivity", "Posted failed");

 }

} catch (Exception e) {

e.printStackTrace();

         }

} catch (ApiException e1) {

e1.printStackTrace();

}

答案 1 :(得分:0)

String tweetUrl = "https://twitter.com/intent/tweet?text=Put your Audio URL here &url="
                    + "https://www.google.com&hashtags=android,twitter";
Uri uri = Uri.parse(tweetUrl);
startActivity(new Intent(Intent.ACTION_VIEW, uri));

OR

// Consumer
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);

// Access Token
AccessToken accessToken = null;
accessToken = new AccessToken(ACCESS_TOKEN, ACCESS_SECRET);
twitter.setOAuthAccessToken(accessToken);

// Posting Status
Status status = null;
try {
    status = twitter.updateStatus("YOUR_AUDIO_LINK");
} catch (TwitterException e) {
    e.printStackTrace();
}
System.out.println("Successfully updated the URL: "
        + status.getText());