2015-02-11 8 views
8

में फ़ैब्रिक प्लगइन का उपयोग करके उपयोगकर्ता प्रोफ़ाइल तस्वीर कैसे प्राप्त करें I लॉगिन के बाद एंड्रॉइड स्टूडियो के साथ फैब्रिक प्लगइन का उपयोग कर रहा हूं मुझे सत्र, उपयोगकर्ता नाम और उपयोगकर्ता आईडी मिला। ईमेल पता भी मिला। लेकिन उपयोगकर्ता प्रोफाइल तस्वीर लाने के लिए कोई विकल्प नहीं मिल रहा है। क्या कोई इस में मेरी मदद कर सकता है?ट्विटर एंड्रॉइड स्टूडियो (फिक्स्ड)

/

/inti twitter client 
     loginButton = (TwitterLoginButton) findViewById(R.id.twitter_login_button); 
     loginButton.setCallback(new Callback<TwitterSession>() { 
      @Override 
      public void success(Result<TwitterSession> result) { 
       // Do something with result, which provides a TwitterSession for making API calls 
       System.out.println("twitter success"+result.data.getUserId()+result.data.getUserName()); 
       gettwitteremail(); 
      } 

      @Override 
      public void failure(TwitterException exception) { 
       // Do something on failure 
      } 
     }); 

private void gettwitteremail(){ 
     TwitterSession session = 
       Twitter.getSessionManager().getActiveSession(); 
     TwitterAuthToken authToken = session.getAuthToken(); 
     String token = authToken.token; 
     String secret = authToken.secret; 
     TwitterAuthClient authClient = new TwitterAuthClient(); 
     authClient.requestEmail(session, new Callback() { 
      @Override 
      public void success(Result result) { 
       // Do something with the result, which provides 
       // the email address 
       System.out.println("twitter sucess"+result.data); 
      } 

      @Override 
      public void failure(TwitterException exception) { 
       // Do something on failure 
       System.out.println("twitter sucess"+exception.getMessage()); 
       exception.printStackTrace(); 
      } 
     }); 

निम्नलिखित कोड

TwitterSession session = 
       Twitter.getSessionManager().getActiveSession(); 
     TwitterAuthToken authToken = session.getAuthToken(); 
     String token = authToken.token; 
     String secret = authToken.secret; 
     TwitterApiClient twitterApiClient = Twitter.getApiClient(); 
     StatusesService twapiclient = twitterApiClient.getStatusesService(); 
     twapiclient.userTimeline(twitteruserid,null,null,null,null,null,null,null,null,new Callback<List<Tweet>>() { 
      @Override 
      public void success(Result<List<Tweet>> listResult) { 

       System.out.println("listResult"+listResult.data.size()); 
       System.out.println("listResult"+listResult.data.get(0).user); 
       System.out.println("listResult"+listResult.data.get(0).user.profileImageUrl); 
       userInfo.imageurl = listResult.data.get(0).user.profileImageUrl; 

      } 

      @Override 
      public void failure(TwitterException e) { 

      } 
     }); 
+0

मैं वहां आराम की मदद से फिक्स्ड एपीआई –

उत्तर

3

का उपयोग कर लाने उपयोगकर्ता प्रोफ़ाइल पिक के लिए इस कोड का प्रयास करें द्वारा ठीक किया गया।

public void getTwitterData(final TwitterSession session) { 
     MyTwitterApiClient tapiclient = new MyTwitterApiClient(session); 
     tapiclient.getCustomService().show(session.getUserId(), 
     new Callback<User>() { 
      @Override 
      public void success(Result<User> result) { 

       TwitterAuthToken authToken = session.getAuthToken(); 
       String token = authToken.token; 
       String secret = authToken.secret; 
       name.setText(result.data.name); 
       location.setText(result.data.location); 
       new ImageDownloader(profileImageView) 
       .execute(result.data.profileImageUrl); 

       Log.d("Name", name); 
       Log.d("city", location); 

       } 

       public void failure(TwitterException exception) { 
       // Do something on failure 
       exception.printStackTrace(); 
      } 
     }); 

    **************** 
     class MyTwitterApiClient extends TwitterApiClient { 
      public MyTwitterApiClient(TwitterSession session) { 
       super(session); 
      } 

      public CustomService getCustomService() { 
       return getService(CustomService.class); 
      } 


     } 

     interface CustomService { 
      @GET("/1.1/users/show.json") 
      void show(@Query("user_id") long id, Callback<User> cb); 
     } 

************ 
    class ImageDownloader extends AsyncTask<String, Void, Bitmap> { 
     ImageView bmImage; 

     public ImageDownloader(ImageView bmImage) { 
      this.bmImage = bmImage; 
     } 

     protected Bitmap doInBackground(String... urls) { 
      String url = urls[0]; 
      Bitmap mIcon = null; 
      try { 
       InputStream in = new java.net.URL(url).openStream(); 
       mIcon = BitmapFactory.decodeStream(in); 
      } catch (Exception e) { 
       Log.e("Error", e.getMessage()); 
      } 
      return mIcon; 
     } 

     protected void onPostExecute(Bitmap result) { 
      bmImage.setImageBitmap(result); 
     } 
    } 
संबंधित मुद्दे