【问题标题】:how to Upload Photo in twitter from android如何在 twitter 中从 android 上传照片
【发布时间】:2011-04-28 05:44:31
【问题描述】:

我尝试在推特上上传照片,但状态是发送而不是照片。任何人都可以提供一些帮助吗?

【问题讨论】:

标签: android


【解决方案1】:

您需要将图片上传到 twitpic 等图片服务,它会返回一个 URL,然后您将其放入您的状态更新中。

有像 Twitter4J 这样的库可以帮助您完成这项任务。

看看Zwitscher如何使用它:code to upload

【讨论】:

    【解决方案2】:

    试试这个代码..

        final SharedPreferences prefs = PreferenceManager
                            .getDefaultSharedPreferences(this);
                    String token = prefs.getString(OAuth.OAUTH_TOKEN, "") != null ? prefs
                            .getString(OAuth.OAUTH_TOKEN, "") : "";
                    String secret = prefs.getString(OAuth.OAUTH_TOKEN_SECRET, "") != null ? prefs
                            .getString(OAuth.OAUTH_TOKEN_SECRET, "") : "";
    
    
                        if (token != null && !token.trim().equals("") && secret != null
                            && !secret.trim().equals("")) {
                        AccessToken a = new AccessToken(token, secret);
                        Twitter twitter = new TwitterFactory().getInstance();
                        twitter.setOAuthConsumer(Constants.CONSUMER_KEY,
                                Constants.CONSUMER_SECRET);
                        twitter.setOAuthAccessToken(a);
    
         Configuration conf = new ConfigurationBuilder()                 
                            .setOAuthConsumerKey(Constants.CONSUMER_KEY) 
                            .setOAuthConsumerSecret(Constants.CONSUMER_SECRET) 
                            .setOAuthAccessToken(a.getToken()) 
                            .setOAuthAccessTokenSecret(a.getTokenSecret()) 
                            .build(); 
    
         OAuthAuthorization auth = new OAuthAuthorization (conf, conf.getOAuthConsumerKey (), conf.getOAuthConsumerSecret (), new AccessToken (conf.getOAuthAccessToken (), AuthAccessTokenSecret ()));
    
           ImageUpload upload = ImageUpload.getTwitpicUploader ("fa6707f43c41faab003dc134348acabd",auth);
    
            url = upload.upload(new File(path));
    
    
            twitter.updateStatus(url);
    
    
    ///Add twitter4j-core-2.1.11jar to libs
    

    【讨论】:

    • 上传到twitpic后会生成一个url。
    【解决方案3】:

    Twitter4j 3.0.3 更新了其ImageUpload 类。 ImageUpload.getTwitpicUploader 方法现已弃用;它只有ImageUpload.upload 方法。此外,您必须在项目构建路径中添加这两个 .jar:

    • twitter4j-core-3.0.3.jar
    • twitter4j-media-support-3.0.3.jar

    您可以通过以下方式获取更多信息:http://twitter4j.org/oldjavadocs/3.0.3/index.html

    【讨论】:

      【解决方案4】:

      首先你需要在 twitter 上创建一个应用

      这是在 Twitter 上发布消息的代码

       ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
              configurationBuilder.setOAuthConsumerKey(context.getResources().getString(R.string.twitter_consumer_key));
              configurationBuilder.setOAuthConsumerSecret(context.getResources().getString(R.string.twitter_consumer_secret));
              configurationBuilder.setOAuthAccessToken(LoginActivity.getAccessToken((context)));
              configurationBuilder.setOAuthAccessTokenSecret(LoginActivity.getAccessTokenSecret(context));
              Configuration configuration = configurationBuilder.build();
              final Twitter twitter = new TwitterFactory(configuration).getInstance();
      
              new Thread(new Runnable() {
      
                      private double x;
      
                      @Override
                      public void run() {
                              boolean success = true;
                              try {
                                      x = Math.random();
                                      twitter.updateStatus(message +" "+x);
                              } catch (TwitterException e) {
                                      e.printStackTrace();
                                      success = false;
                              }
      
                              final boolean finalSuccess = success;
      
                              callingActivity.runOnUiThread(new Runnable() {
                                      @Override
                                      public void run() {
                                              postResponse.onFinsihed(finalSuccess);
                                      }
                              });
      
                      }
              }).start(); 
      

      查看tutorial了解更多详情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-15
        • 1970-01-01
        • 2012-11-18
        • 2012-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多