【问题标题】:How to tweet from an Android app using REST API 1.1如何使用 REST API 1.1 从 Android 应用发送推文
【发布时间】:2014-02-21 03:49:58
【问题描述】:

在这里,我将一些文本从 Android 应用程序发布到用户的 Twitter 帐户,并且我有 ConsumerKey、Consumer 密钥、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
}

但我的代码following this 中的参数有误,但我没有得到它,那么有什么合适的解决方案呢?

【问题讨论】:

  • 请检查下面的答案,谢谢。
  • 是的,它要求登录。但我想在没有登录的情况下发布应用数据
  • @SalmanAyub twitter4j 是任何人的首选,根据我的要求在没有登录的情况下使用 twitter 我想从我的应用程序和上面的信息中发布推文,我没有通过使用上面的信息如何发帖

标签: android twitter


【解决方案1】:

如果您想发布您在文本框中输入的内容,我可以在这里为您提供帮助。 1.你必须在gradle文件中包含twitter4j库,如下:

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

2。在您的代码中包含以下代码 sn-p:

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;
}

}

希望对你有帮助。

【讨论】:

    【解决方案2】:

    由于您询问如何使用 REST API 1.1 从 Android 应用发送推文,我建议您使用 Twitter 4j 库,将 Twitter 集成到您的 Android 应用中。

    这个库封装了身份验证功能(通过OAuth 库)和其他重要的功能。以下是它的一些特点:

    Twitter4J 的特色是:

    • 100% 纯 Java - 适用于任何 Java 平台版本 5 或更高版本
    • Android 平台和Google App Engine-ready
    • 零依赖性:不需要额外的JAR 文件
    • 内置 OAuth 支持
    • 开箱即用的 gzip 支持
    • 100% 兼容 Twitter API 1.1

    您需要通过此库调用简单函数才能使用有关 Twitter 的特定功能。这是一个演示该库用法的链接: http://twitter4j.org/en/code-examples.html

    你可以在链接http://twitter4j.org/下载这个库。

    这是使用库 https://github.com/itog/Twitter4j-android-Sample 实现的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-31
      • 2013-06-08
      • 1970-01-01
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 1970-01-01
      相关资源
      最近更新 更多