android twitter retrieveRequestToken 401请求 token

标签 android twitter4j

我正在为 twitter oauth 尝试以下示例应用程序。

http://www.androidsdkforum.com/android-sdk-development/3-oauth-twitter.html

private void askOAuth() {
        try {
            consumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
            provider = new DefaultOAuthProvider("http://twitter.com/oauth/request_token",
                                                "http://twitter.com/oauth/access_token",
                                                "http://twitter.com/oauth/authorize");
            String authUrl = provider.retrieveRequestToken(consumer, CALLBACK_URL);
            Toast.makeText(this, "Please authorize this app!", Toast.LENGTH_LONG).show();
            this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)));
        } catch (Exception e) {
            Log.e(APP, e.getMessage());
            Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
        }
    }

当我运行下面的代码时,它给出如下异常

“oauth.signpost.exception.OAuthNotAuthorizedException:授权失败(服务器回复 401)。如果消费者 key 不正确或签名不匹配,就会发生这种情况。”

在这一行 String authUrl = provider.retrieveRequestToken(consumer, CALLBACK_URL);

我提供了正确的“ key ”和“ secret ” twitter 是否给我错误的 key 和 secret ?

最佳答案

我在这上面花了好几个小时。似乎您必须在 Twitter 应用程序开发人员面板的“设置”选项卡中为回调 url 设置任何值。保留默认的空值会禁用动态回调 url。

我在网上找到的所有教程和所有信息都是无效的。 Twitter 早就删除了“客户端/网站”单选按钮。

此外,OAuth 会检查时钟偏差。

关于android twitter retrieveRequestToken 401请求 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3315669/

相关文章:

java - 4.0+ 禁用主页按钮以留在当前屏幕

java - 使用 C++ 编译和运行 java 文件时无法加载主类

Android 数据在 startActivity() 回调后 onCreate() 丢失

android - Android sqlite 中的 WHERE IN 子句?

android - 我需要编辑 Android 许可库中的 ServerManagedPolicy 吗?

android - 如何暂停特定应用程序的媒体播放器?

java - twitter4j result.nextQuery() 总是给我 null

java - 如何让用户从 Java Web 应用程序向他/她的 Twitter 帐户发送推文

java - 如何管理来自不同线程的不同 TwitterStream

java - Android NoSuchElementException 和扫描仪