在Android中,
Twitter连接失败.需要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实现没有太大改变会导致这种情况发生,但是,在使用OAuth进行身份验证后,如果您之前使用非SSL请求数据,这可能以前有效,但现在不行.Twitter 于2014年1月14日推出了限制访问SSL/TLS连接的更改.
在Java代码中的某处,将会有用于从Twitter服务器检索数据的URL.我建议你通过你的代码进行搜索/替换,你可以用任何一个http://api.twitter.com/
替换它们,https://api.twitter.com/
这可能有希望解决这个问题.之后可能会出现其他问题但至少这是您的第一步.
通过指定https
,确保您使用SSL协议以确保在应用程序和Twitter之间传输期间数据保持安全.
如果您需要更多信息来选择性地验证和验证代码中的SSL证书以获得额外的安全性,请阅读Twitter的开发人员文档网站上的通过SSL连接到Twitter API.
编辑:为了进一步澄清,为了收到此错误消息,您必须已通过SSL URL使用OAuth成功进行身份验证,但随后还原为非SSL URL以用于后续数据请求.