当文本来自textview时,无法更新状态

pu82cl6c  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(237)

我正在尝试制作一个应用程序,用户可以在其中使用twitter4j编写文本并发送tweet。当我手动编写文本作为updatestatus()方法的参数时,我的应用程序运行得很好。但是,当我尝试从textview对象获取文本时,我不能发布任何内容。我要找回这个错误。
system.err:403:请求已被理解,但已被拒绝。附带的错误消息将解释原因。由于更新限制而拒绝请求时使用此代码
不过,我使用的是最新版本的twitter4j。有人能帮忙吗?记住,我对这一切都很陌生。
这是我目前的代码。原谅我这是我的第一步。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        EditText textForPost = findViewById(R.id.textForPost);
        String message = textForPost.getText().toString();

        Button buttonPost = findViewById(R.id.buttonPost);
        buttonPost.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                PostSomething newPost = new PostSomething(message);
                newPost.execute();
            }
        });
    }
}

public class PostSomething extends AsyncTask<String, String, String> {
    private static String postContent;
    private static final String TAG = "Twitter_API";

    public PostSomething(String content) {
        postContent = content;
    }

    @Override
    protected String doInBackground(String... strings) {
            ConfigurationBuilder cb = new ConfigurationBuilder();
            cb.setDebugEnabled(true)
                    .setOAuthConsumerKey("myKey")
                    .setOAuthConsumerSecret("mySecretKey")
                    .setOAuthAccessToken("myAccessToken")
                    .setOAuthAccessTokenSecret("mySecretAccessToken");
            TwitterFactory tf = new TwitterFactory(cb.build());
            Twitter twitter = tf.getInstance();
            try {
                twitter.updateStatus(postContent);
                Log.d(TAG, "Post is up.");
            } catch (TwitterException e) {
                e.printStackTrace();
                Log.e(TAG, "Something went wrong");
            }
        return "RESULT";
    }
}

public class AsyncTaskExecutor implements Executor {

    Queue<AsyncTask> queue;

    @Override
    public void execute(Runnable command) {
        while(true){
            AsyncTask currentTask = queue.peek();
            currentTask.executeOnExecutor(this);
            currentTask.notify();
        }
    }
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题