Как твитнуть из приложения Android с помощью REST API 1.1

1

Здесь я отправляю текст из приложения Android в учетную запись пользователя Twitter, и у меня есть секретный ключ ConsumerKey, секретный ключ потребителя, AccessToken и AccessToken.

https://api.twitter.com/1.1/statuses/update.json

Используя простой клиентский запрос HTTP, я хочу опубликовать данные в учетной записи пользователя Twitter. Как я могу это сделать?

Я попробовал что-то вроде

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://api.twitter.com/1/statuses/update.json");

// HttpPost httppost = new HttpPost("https://graph.facebook.com/" + profile_ID + "/feed");

System.out.println("httppost " + httppost);

try {
    // Add your data
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("access_token", access_token_value));
    nameValuePairs.add(new BasicNameValuePair("message", compose.getText().toString()));
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    // Execute HTTP Post Request
    HttpResponse response = httpclient.execute(httppost);

    System.out.println("response "+response.toString());

}
catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
}
catch (IOException e) {
    // TODO Auto-generated catch block
}

Но параметры неправильны в моем коде, следуя этому, но я не понял его, каково подходящее решение для этого?

  • 0
    Пожалуйста, проверьте ответ ниже, спасибо.
  • 0
    Да, он запрашивает логин. Но я хочу опубликовать данные приложения без логина
Показать ещё 1 комментарий
Теги:
twitter

2 ответа

0

Если вы хотите опубликовать то, что вы ввели в текстовое поле, я могу помочь вам здесь. 1. Вы должны были включить библиотеку twitter4j в файл градиента следующим образом:

    compile group: 'org.twitter4j', name: 'twitter4j-core', version: '4.0.1'

2. Включите в код следующий фрагмент кода:

public String sTweet;
EditText et_TweetText;
public static String consumerkey = "xxxxxxxxxxxxxxxxx";
public static String consumersecret = "xxxxxxxxxxxxxxxxx";
public static String accesstoken="xxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxx";
public static String accesstokensecret="xxxxxxxxxxxxxxxxx";

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    et_TweetText = (EditText) view.findViewById(R.id.et_TweetText);

    bt_tweetIt = (Button) view.findViewById(R.id.bt_tweetIt);
    bt_tweetIt.setOnClickListener(this);
}

@Override
public void onClick(View v) {
sTweet = et_TweetText.getText().toString();
Log.i(TAGTweet, "onClick- sTweet: " + sTweet);

if(CheckConnectivity()!=0){
    Log.i(TAGTweet, "Internet Connection ON: ");
    new UseTweeter().execute();
}
else {
    Log.i(TAGTweet, "Internet Connection OFF: ");
    ShowNoInternetConnectionAlert();
}

}

 public class UseTweeter extends AsyncTask<String,String,String>{
     @Override
protected String doInBackground(String... params) {
     TweetThisMessage();
    return null;
}

}

public void TweetThisMessage(){
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthAccessToken(accesstoken);
builder.setOAuthAccessTokenSecret(accesstokensecret);
builder.setOAuthConsumerKey(consumerkey);
builder.setOAuthConsumerSecret(consumersecret);
OAuthAuthorization auth = new OAuthAuthorization(builder.build());
Twitter twitter = new TwitterFactory().getInstance(auth);

try {
    Log.i(TAGTweet, "sTweet in TweetThisMessage(): " + sTweet);
    twitter.updateStatus(sTweet);
} catch (TwitterException e) {
    e.printStackTrace();
    return;
}

}

Надеюсь, поможет.

0

Поскольку вы просите, как чирикать из приложения для Android, используя REST API 1.1, я бы рекомендовал вам использовать библиотеку Twitter 4j для интеграции Twitter в приложение для Android.

Эта библиотека инкапсулирует функции аутентификации (через библиотеку OAuth) и другие важные функции внутри себя. Вот некоторые из его возможностей:

Twitter4J показывает:

  • 100% чистая Java - работает на любой платформе Java версии 5 или более поздней версии
  • Платформа Android и Google App Engine -ready
  • Нулевая зависимость: дополнительных файлов JAR не требуется
  • Встроенная поддержка OAuth
  • Встроенная поддержка gzip
  • 100% совместимость с API API 1.1

Вам нужно вызвать простые функции через эту библиотеку, чтобы использовать определенные функции для Twitter. Вот ссылка, которая демонстрирует использование этой библиотеки: http://twitter4j.org/en/code-examples.html

Вы можете скачать эту библиотеку по ссылке http://twitter4j.org/.

Вот пример, реализованный с помощью библиотеки https://github.com/itog/Twitter4j-android-Sample.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню