d-m*_*man 13 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();
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行以下代码时,它给出了如下异常
"oauth.signpost.exception.OAuthNotAuthorizedException:授权失败(服务器回复401).如果消费者密钥不正确或签名不匹配,就会发生这种情况."
在这条线上 String authUrl = provider.retrieveRequestToken(consumer, CALLBACK_URL);
我提供了正确的"密钥"和"秘密",Twitter是否给了我错误的密钥和秘密?
gil*_*ilm 14
我已经花了几个小时这个.似乎您必须在Twitter应用程序开发人员面板的"设置"选项卡中为回调URL设置任何值.保持默认空值会禁用动态回调网址.
我在网上找到的所有教程和所有信息都是空的.Twitter长期删除了"客户端/网站"单选按钮.
此外,OAuth会检查时钟偏差.
我刚遇到同样的问题.它只出现在我的开发电话上,但在模拟器和另一部手机上,代码工作正常.在没有运气的情况下尝试了几个相关问题的解决方案后,最终我发现我没有在开机手机上设置时间和日期,开机手机中没有SIM卡.这导致SSL证书无效,OAuth请求失败,以及使用HTTPS的任何其他内容.设定时间之后问题就消失了.
| 归档时间: |
|
| 查看次数: |
8420 次 |
| 最近记录: |