【问题标题】:Twitter4J exception on verifyCredentialsverifyCredentials 上的 Twitter4J 异常
【发布时间】:2011-04-06 12:04:33
【问题描述】:

我正在创建一个使用 Twitter4J 读取用户信息的 Android 应用。

这一切都很好,但是今天晚上当我启动应用程序并且用户登录到 Twitter 时,我得到了一个异常:

    Twitter twitter = new TwitterFactory().getInstance(twitterID,twitterPassword);
    u = twitter.verifyCredentials();

这会在 verifyCredentials() 调用中引发以下异常:

08-31 20:36:59.084: WARN/System.err(454): twitter4j.TwitterException: https://api.twitter.com/1/account/verify_credentials.json
08-31 20:36:59.094: WARN/System.err(454):     at twitter4j.http.HttpClient.request(HttpClient.java:333)
08-31 20:36:59.094: WARN/System.err(454):     at twitter4j.http.HttpClientWrapper.request(HttpClientWrapper.java:66)
08-31 20:36:59.094: WARN/System.err(454):     at twitter4j.http.HttpClientWrapper.get(HttpClientWrapper.java:88)
08-31 20:36:59.094: WARN/System.err(454):     at twitter4j.Twitter.verifyCredentials(Twitter.java:1025)
08-31 20:36:59.104: WARN/System.err(454):     at com.tmm.android.soundbiter.TwitterInterface.<init>(TwitterInterface.java:65)
08-31 20:36:59.104: WARN/System.err(454):     at com.tmm.android.soundbiter.LogOnActivity.initTwitterUser(LogOnActivity.java:138)
08-31 20:36:59.104: WARN/System.err(454):     at com.tmm.android.soundbiter.LogOnActivity.startApplicationActivity(LogOnActivity.java:102)
08-31 20:36:59.104: WARN/System.err(454):     at com.tmm.android.soundbiter.LogOnActivity.onCreate(LogOnActivity.java:47)
08-31 20:36:59.104: WARN/System.err(454):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-31 20:36:59.104: WARN/System.err(454):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
08-31 20:36:59.104: WARN/System.err(454):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
08-31 20:36:59.104: WARN/System.err(454):     at android.app.ActivityThread.access$2200(ActivityThread.java:119)
08-31 20:36:59.115: WARN/System.err(454):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
08-31 20:36:59.115: WARN/System.err(454):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-31 20:36:59.115: WARN/System.err(454):     at android.os.Looper.loop(Looper.java:123)
08-31 20:36:59.115: WARN/System.err(454):     at android.app.ActivityThread.main(ActivityThread.java:4363)
08-31 20:36:59.124: WARN/System.err(454):     at java.lang.reflect.Method.invokeNative(Native Method)
08-31 20:36:59.124: WARN/System.err(454):     at java.lang.reflect.Method.invoke(Method.java:521)
08-31 20:36:59.124: WARN/System.err(454):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
08-31 20:36:59.124: WARN/System.err(454):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
08-31 20:36:59.134: WARN/System.err(454):     at dalvik.system.NativeStart.main(Native Method)
08-31 20:36:59.134: WARN/System.err(454): Caused by: java.io.FileNotFoundException: https://api.twitter.com/1/account/verify_credentials.json
08-31 20:36:59.134: WARN/System.err(454):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1061)
08-31 20:36:59.134: WARN/System.err(454):     at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnection.getInputStream(HttpsURLConnection.java:252)
08-31 20:36:59.134: WARN/System.err(454):     at twitter4j.http.HttpResponse.<init>(HttpResponse.java:83)
08-31 20:36:59.134: WARN/System.err(454):     at twitter4j.http.HttpClient.request(HttpClient.java:288)
08-31 20:36:59.134: WARN/System.err(454):     ... 20 more

正如我所提到的,这几周没有改变,但突然停止工作。我还注意到,如果我匿名实例化我的 Twitter 对象(不传递用户名和密码),它仍然允许我检索信息/来自 twitter 的用户/状态(显然 verifyCredentials() 在这里不起作用,因为它是匿名用户)

有没有人遇到过这个问题或类似问题?

提前致谢!

【问题讨论】:

标签: android twitter twitter4j


【解决方案1】:

Twitter API 不再支持基本身份验证,您必须更改您的应用程序以使用 OAuth,http://dev.twitter.com/pages/auth_overview,它也内置在 Twitter4J 中。

【讨论】:

  • 谢谢!我会调查这个选项.. 这是 Twitter 刚刚介绍的东西吗?这只是昨天的工作..
  • 他们已经宣布他们将在不久前这样做,实际上打算在 7 月的某个时候这样做,但推迟到世界杯。这很容易被忽视。
  • 再次感谢 - 我一直在查看 OAuth 设置;对于我的 android 应用程序,我希望用户能够使用他们的凭据登录 Twitter,然后能够发布更新等 - 你知道这是否可能吗?我正在逐步启动并运行它,我只需要输入一个 PIN 码以允许该应用程序访问我的 Twitter 帐户,所有用户都必须这样做吗?所有 Twitter 客户都必须经过这个过程吗?
  • 除此之外,在尝试过 OAuth 之后,我仍然从 twitter 收到同样的错误.. 有什么想法吗?
  • 看起来我不是本周唯一遇到问题的人...... HTC 也有同样的问题 - 将调查我的 oauth 解决方案engadget.com/2010/09/01/…
猜你喜欢
  • 2016-07-06
  • 2011-03-11
  • 2013-07-24
  • 1970-01-01
  • 2011-02-25
  • 2014-02-11
  • 2014-10-08
  • 2018-09-09
  • 1970-01-01
相关资源
最近更新 更多