2011-03-17 12 views
5

के साथ एक ट्वीट पोस्ट करें मैं अपने एंड्रॉइड एप्लिकेशन के साथ एक ट्वीट पोस्ट करने का एक तरीका खोज रहा हूं, लेकिन जो कुछ भी मैंने पाया है वह काम नहीं करता है।एंड्रॉइड एपीआई

मुझे यह मानना ​​है कि ट्विटर की एपीआई समझने में इतना आसान नहीं है, लेकिन मेरा कोड वास्तव में लंबा नहीं है, और मुझे नहीं लगता कि मेरी गलती कहां है।

यह मेरा कोड है:

public class PartagerTwitter extends Activity { 

    private CommonsHttpOAuthConsumer httpOauthConsumer; 
    private OAuthProvider httpOauthprovider; 
    public final static String consumerKey = XXX; 
    public final static String consumerSecret = XXX; 
    private final String CALLBACKURL = "myapp://twitactivity"; 
    private Twitter twitter; 

    @Override 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     try { 
      httpOauthConsumer = new CommonsHttpOAuthConsumer(consumerKey, consumerSecret); 
      httpOauthprovider = new DefaultOAuthProvider("https://twitter.com/oauth/request_token", 
        "https://twitter.com/oauth/access_token", 
      "https://twitter.com/oauth/authorize"); 
      String authUrl = httpOauthprovider.retrieveRequestToken(httpOauthConsumer, CALLBACKURL); 

      this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl))); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    @Override 
    protected void onNewIntent(Intent intent) { 

     super.onNewIntent(intent); 
     Uri uri = intent.getData(); 
     Log.i("test", uri.toString()); 
     if (uri != null && uri.toString().startsWith(CALLBACKURL)) { 
      String verifier = uri.getQueryParameter(oauth.signpost.OAuth.OAUTH_VERIFIER); 
      try { 
       httpOauthprovider.retrieveAccessToken(httpOauthConsumer, verifier);  
       twitter = new TwitterFactory().getInstance(); 
       twitter.setOAuthConsumer(consumerKey, consumerSecret); 

       RequestToken requestToken = twitter.getOAuthRequestToken(CALLBACKURL); 
       AccessToken accessToken = twitter.getOAuthAccessToken(requestToken); 
       String token = accessToken.getToken(), 
       secret = accessToken.getTokenSecret(); 

       accessToken = new AccessToken(token,secret); 
       Twitter twitter = new TwitterFactory().getOAuthAuthorizedInstance(consumerKey,consumerSecret,accessToken); 
       twitter.updateStatus("My First Status Update"); 
      } catch (Exception e) { 
       e.printStackTrace(); 

      } 
     } 
    } 
} 
बेशक

, मेरी चाबियाँ XXX नहीं हैं। और एक और सवाल, क्या यह संभव है, लॉगिन के बाद, ट्विटर विंडो बंद करने और मेरी गतिविधि को अग्रभूमि में लाने के लिए?

उत्तर

5

कृपया एंड्रॉइड ऐप से ट्विटर पर पोस्ट करने के लिए पूर्ण अंत-टू-एंड मार्गदर्शिका के लिए the following blog post देखें।

इसमें Github में एक काम कर रहे एंड्रॉइड नमूना भी शामिल है।

0

ट्विटर ऐप साइट पर पढ़ने/लिखने की अनुमति के साथ अपना ऐप बनाएं, अपने एप्लिकेशन के लिए एक्सेस टोकन जेनरेट करें।

स्थिति

public static void main(String[] args) { 

    String CONSUMER_KEY = "YOUR_CONSUMER_KEY"; 
    String CONSUMER_SECRET = "YOUR_CONSUMER_SECRET"; 
    String ACCESS_SECRET = "YOUR_ACCESS_SECRET"; 
    String ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"; 

    // 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_STATUS"); 
    } catch (TwitterException e) { 
     e.printStackTrace(); 
    } 
    System.out.println("Successfully updated the status: " 
      + status.getText()); 
} 
अद्यतन करने के लिए निम्नलिखित कोड का उपयोग
संबंधित मुद्दे