如何接收twitter oauth令牌?

时间:2013-06-07 01:33:19

标签: android twitter android-manifest twitter-oauth

请求OAuth(当twitter按钮被阻止时)

final String TW_CALLBACK_URL_STRING = "http://test.com/callback";

final Uri TW_CALLBACK_URI = Uri.parse(TW_CALLBACK_URL_STRING);

twitter4j.auth.RequestToken twRequestToken = 
                        twitter.getOAuthRequestToken(TW_CALLBACK_URI.toString());

Intent intent = new Intent(Intent.ACTION_VIEW, 
                        Uri.parse(twRequestToken.getAuthorizationURL()));
activity.startActivityForResult(intent, TWITTER_REQUEST_CODE);

清单

    <activity android:name=".TwitterLinkActivity" >
        <intent-filter>            
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <data
                android:scheme="http"
                android:host="test.com" />

            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

    </activity>

Twitter开发者应用程序设置

enter image description here


点击我的应用程序上的Twitter按钮,打开Web浏览器(chrome android)。

然后我登录Twitter帐户并点击“接受应用程序”按钮(下图中的“애플리케이션승인”,UZTest是我的测试推特应用程序名称。) 我不是母语为英语的人。所以我不确切地说英文单词......

enter image description here

我认为浏览器链接到http://test.com/callback?~~~~。我的应用程序捕获此URL,并开始活动。

但是我的应用程序无法...它只是在chrome android浏览器中链接http://www.test.com

我尝试更改回调网址=“myapp://test.com”,但只有http(或https)可用。 (Twitter开发人员)

我如何收到oauth令牌?

1 个答案:

答案 0 :(得分:1)

我确实做到了!

以下两个值不是相同的值(?)

  1. final String TW_CALLBACK_URL_STRING =“http://test.com/callback”;

  2. 回调网址:http://test.com/callback(Twitter开发者中的OAuth设置)

  3. 1只能使用我的应用程序。所以我在java代码和清单文件中改为“myscheme:// myhost”。

    2不是oauth请求回调url(我不确切知道是什么。)

    然后它运作正常。