android - 推特连接失败

标签 android ssl twitter twitter-oauth twitter4j

在 Android 中
推特连接失败。需要 SSL?

我的代码运行良好,目前是一个实时应用程序。然而,自 2014 年以来它一直没有工作,我听说 Twitter 已经应用 https 或使用 SSL 概念。

帮我解决这个问题。

这是我的日志。

 03-14 15:00:02.838: D/TwitterApp(697): Error getting access token
03-14 15:00:02.878: W/System.err(697): 403:The request is understood, but it has been refused. An accompanying error message will explain why. This code is used when requests are being denied due to update limits (https://support.twitter.com/articles/15364-about-twitter-limits-update-api-dm-and-following).
03-14 15:00:02.878: W/System.err(697): message - SSL is required
03-14 15:00:02.878: W/System.err(697): code - 92
03-14 15:00:02.878: W/System.err(697): Relevant discussions can be found on the Internet at:
03-14 15:00:02.878: W/System.err(697):  http://www.google.co.jp/search?q=6f0f59ca or
03-14 15:00:02.888: W/System.err(697):  http://www.google.co.jp/search?q=20d0f73f
03-14 15:00:02.888: W/System.err(697): TwitterException{exceptionCode=[6f0f59ca-20d0f73f], statusCode=403, message=SSL is required, code=92, retryAfter=-1, rateLimitStatus=RateLimitStatusJSONImpl{remaining=14, limit=15, resetTimeInSeconds=1394790328, secondsUntilReset=-18874}, version=3.0.3}
03-14 15:00:02.888: W/System.err(697):  at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:177)
03-14 15:00:02.888: W/System.err(697):  at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
03-14 15:00:02.888: W/System.err(697):  at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:89)
03-14 15:00:02.888: W/System.err(697):  at twitter4j.TwitterBaseImpl.fillInIDAndScreenName(TwitterBaseImpl.java:126)
03-14 15:00:02.888: W/System.err(697):  at twitter4j.TwitterImpl.verifyCredentials(TwitterImpl.java:592)
03-14 15:00:02.908: W/System.err(697):  at com.twitter.android.TwitterApp$3.run(TwitterApp.java:150)

twitter 连接代码http://www.androidhive.info/2012/09/android-twitter-oauth-connect-tutorial/这是一个开发

最佳答案

据我所知,OAuth 实现并没有太大的改变会导致这种情况,但是,如果您当时使用非 SSL 数据请求,那么在您使用 OAuth 进行身份验证之后,这可能以前有效,但现在无效。 Twitter 引入了一个变化 restricting access to SSL/TLS connections only 2014 年 1 月 14 日。

在您的 Java 代码中的某处,将有用于从 Twitter 服务器检索数据的 URL。我建议您通过您的代码进行搜索/替换,将出现的任何 http://api.twitter.com/ 替换为 https://api.twitter。 com/,这有望解决这个问题。之后可能会发现其他问题,但至少这是您的第一步。

通过指定 https,这可以确保您使用 SSL 协议(protocol)来确保数据在您的应用程序和 Twitter 之间的传输过程中保持安全。

如果您需要更多信息来选择性地验证和验证代码中的 SSL 证书以提高安全性,请阅读 Connecting to Twitter API via SSL在 Twitter 的开发者文档网站上。


编辑: 只是为了进一步澄清,为了收到此错误消息,您必须已通过 SSL URL 使用 OAuth 成功进行身份验证,但随后恢复为非 SSL URL 以进行后续数据请求.

关于android - 推特连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22251448/

相关文章:

android - 复选框标签不应可点击

java - 在资源路径中找不到 com/sun/jna/android-arm/libjnidispatch.so

mosquitto 1.2.1/1.2.2 中的 CA 证书的 SSL 证书失败

node.js - 在 Node/express 上安装 RapidSSL 证书

objective-c - 检测 Twitter 的 iOS 版本?

Android Realm 一对多关系、查询

java - 从 Bundle 接收 null Parcelable 对象

javascript - Kurento - WebSocket 连接失败

javascript - ReferenceError : "twttr is not defined" even while using twttr. 就绪()

ios - 应用程序委托(delegate)中用于 Facebook 和 Twitter 的 OpenURL?