我正在尝试在android中编写一个代码来帮助我在我的应用程序中更新我的推特状态,但我遇到了问题.Below是代码片段
public void onClick(View v) {
String statusText = edit.getText().toString();
new PostToTwitter().execute(statusText);
}
public static String getLogtag() {
return LOGTAG;
}
class PostToTwitter extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
try{
Twitter twitter = new Twitter("screenname", "password");
// twitter.getStatus("winterstein");
twitter.setAPIRootUrl("https://twitter.com/#!/nindevworks");
twitter.setStatus(params[0]);
Log.d(TweetActivity.getLogtag(),"Successfully Posted: " + params[0]);
return "Successfully Posted: " + params[0];
} catch (TwitterException e) {
Log.e(TweetActivity.getLogtag(),"Died ", e);
e.printStackTrace();
return "Failed Posting: " + params[0];
}
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
Toast.makeText(TweetActivity.this, "result " + result ,Toast.LENGTH_SHORT).show();
}
}
请有人解释这个portio
答案 0 :(得分:0)
您的代码中有一些错误......
首先:
Twitter twitter = new Twitter("screenname", "password");
您不能在Twitter上使用基于密码的登录 (为什么这个构造函数存在?它适用于其他服务,如Wordpress&amp; identi.ca,它支持Twitter API)
您需要使用基于oauth的登录。
如果您有最新版本的JTwitter,则可以使用一个名为AndroidTwitterLogin
的类来处理登录。
其次:
twitter.setAPIRootUrl("https://twitter.com/#!/nindevworks");
您无需为Twitter设置API根网址(这也适用于Wordpress或identi.ca)
我希望有所帮助!