0

我正在尝试在 android 中编写一个代码,这将有助于从我的应用程序中更新我的 twitter 状态,但我遇到了问题。下面是代码片段

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();

    }

}

请有人解释一下这部分

4

1 回答 1

0

您的代码中有几个错误...

首先:

Twitter twitter = new Twitter("screenname", "password");

您不能在 Twitter 上使用基于密码的登录。
(为什么存在这个构造函数?它是用于其他服务,比如支持 Twitter API 的 Wordpress 和 identi.ca)

您需要使用基于 oauth 的登录。

如果您拥有最新版本的JTwitterAndroidTwitterLogin ,那么您可以使用一个名为的类来处理登录。

第二:

twitter.setAPIRootUrl("https://twitter.com/#!/nindevworks");

您不需要为 Twitter 设置 API 根 URL(这也适用于 Wordpress 或 identi.ca)

我希望这会有所帮助!

于 2012-07-06T11:04:09.013 回答