3

我已将 twitter4j 集成到一个 android 应用程序中,并且在大多数情况下它可以无缝运行,但我注意到当用户指示将其登录凭据保存在浏览器中时,尝试使用 twitter 进行身份验证时会发生零星问题。调用 getOAuthRequestToken(callbackURL) 后,android 浏览器照常打开,但随后浏览器弹出如下错误页面:

Web page not available The web page at https://api.twitter.comtwitter-callback-uri:///?oath_token=.....................

因此,看起来正在发生的事情是浏览器被重定向到无效的 url。我认为重定向应该看起来像这样:twitter-callback-uri:///?oath_token=................

为了提供更多信息,对令牌的请求如下所示:

rToken = twit.getOAuthRequestToken("twitter-callback-uri:///");

并且在 android manifest 中添加了一个意图过滤器来识别这个 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 登录凭据是否保存在浏览器中。

4

1 回答 1

1

我和你有同样的问题。我问了我的问题后发现了你的问题:) 看看这个

Twitter API 返回无效回调 - 无法授权

具体来说,请查看我的问题中的代码片段。

于 2012-06-13T12:16:47.267 回答