我已经将twitter4j集成到一个安卓应用程序中,在大多数情况下它可以无缝运行,但我注意到当用户指示将其登录凭据保存在浏览器中时,尝试使用Twitter进行身份验证时会出现零星问题。调用getOAuthRequestToken(callbackURL)后,android浏览器像往常一样打开,但随后浏览器弹出一个错误页面,如下所示:
Web page not available
The web page at https://api.twitter.comtwitter-callback-uri:///?oath_token=.....................
因此,看起来正在发生的事情是浏览器被重定向到无效的URL。我认为重定向应该看起来像这样:推特回调 uri:///?oath_token=...............
为了提供更多信息,令牌请求如下所示:
rToken = twit.getOAuthRequestToken("twitter-callback-uri:///");
并在 android 清单中添加了一个意图过滤器来识别此 uri。意向过滤器如下所示:
<activity android:name=".LoginActivity"
android:screenOrientation="unspecified"
android:finishOnTaskLaunch="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="twitter-callback-uri"/>
</intent-filter>
</activity>
这通常有效,唯一的问题似乎是用户的 Twitter 登录凭据是否保存在浏览器中。
我和你有同样的问题。我在问了我的:)后发现了你的问题看看这个
Twitter API 返回无效回调 - 无法授权
具体来说,看看我问题中的代码片段。