当用户登录凭据存储在浏览器中时,Android上的Twitter OAuth回调问题

时间:2012-06-05 15:42:24

标签: android twitter twitter-oauth twitter4j

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

我和你有同样的问题。在问我之后我找到了你的问题:) 看看这个

Twitter API returns invalid callback - Cannot authorize

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