4

我正在使用 twitpic 库在 Twitter 上发布图像,但我得到 - 无效的 twitpic 用户名和密码错误。这个有什么解决办法吗??witpic的用户名和密码是什么?我只是用我的 Twitter ID 和密码来代替它。

这是我的代码

// Create file
    File picture = new File(Environment.getExternalStorageDirectory()+"/image.jpg");
    if(picture.exists())
    {
        System.out.println("Picture accesseds");
    }

    // Create TwitPic object and allocate TwitPicResponse object
    TwitPic tpRequest = new TwitPic("gauravarora90", "gaurav");
    TwitPicResponse tpResponse = null;

    // Make request and handle exceptions                           
    try {
            tpResponse = tpRequest.uploadAndPost(picture, "Hello World!!!");
    } catch (IOException e) {
            e.printStackTrace();
    } catch (TwitPicException e) {
            e.printStackTrace();
    }


    // If we got a response back, print out response variables
    if(tpResponse != null) {         
           tpResponse.dumpVars();
           System.out.println(tpResponse.getStatus());
           if(tpResponse.getStatus().equals("ok")){
                Toast.makeText(getApplicationContext(), "Photo posted on Twitter.",Toast.LENGTH_SHORT).show();
                //picture.delete();
           }
     }

请帮助我。在此先感谢。

4

1 回答 1

0

试试这个代码:

ConfigurationBuilder cb = new ConfigurationBuilder();

             cb.setOAuthConsumerKey(TwitterClass.CONSUMER_KEY);
             cb.setOAuthConsumerSecret(TwitterClass.CONSUMER_SECRET);
             cb.setOAuthAccessToken(tw.getAccessToken());
            AccessToken a = new AccessToken(tw.getAccessToken(),tw.getSecretToken());


             TwitterFactory tf = new TwitterFactory(cb.build());
                t4jTwitter = tf.getInstance();

                t4jTwitter.setOAuthAccessToken(a);

              Configuration conf = new ConfigurationBuilder()                 
                    .setOAuthConsumerKey(TwitterClass.CONSUMER_KEY) 
                    .setOAuthConsumerSecret(TwitterClass.CONSUMER_SECRET) 
                    .setOAuthAccessToken(tw.getAccessToken()) 
               .setOAuthAccessTokenSecret(tw.getSecretToken()) 
                    .build(); 

                OAuthAuthorization auth = new OAuthAuthorization (conf, conf.getOAuthConsumerKey (), conf.getOAuthConsumerSecret (),
                        new AccessToken (conf.getOAuthAccessToken (), conf.getOAuthAccessTokenSecret ()));

               ImageUpload upload = ImageUpload.getTwitpicUploader (TWITPIC_KEY, auth);

                try {
                      //  String    url = upload.upload(new File("/mnt/sdcard/download/3029302084159350163.jpg"));


                                                //result = 1;


                        URL myfileUrl=new URL(strFilePath);

                        HttpURLConnection conn = (HttpURLConnection) myfileUrl
                        .openConnection();
                conn.setDoInput(true);
                conn.connect();
                InputStream is = conn.getInputStream();


                //   String url = upload.upload(new File("/mnt/sdcard/download/3029302084159350163.jpg"), StaticData.strTwitte);


                   String   url = upload.upload(StaticData.strTwitte, is);

                   System.out.println("Image url"+url);
                        System.out.println("Image uploaded");
                        result_img=1;
                        twitter4j.Status status = t4jTwitter.updateStatus(StaticData.strTwitte+"\n"+url);
                        int statusId = (int)status.getId();

                            //Log.d(TAG, "Image uploaded, Twitpic url is " + url);          
                        } catch (Exception e) {        
                            //Log.e(TAG, "Failed to send image");
                              result_img=0;
                              System.out.println("Failed to send image");
                            e.printStackTrace();
                        }
于 2012-10-04T16:13:14.980 回答