在Twitter集成中没有正确调用回调

时间:2012-07-18 15:37:51

标签: java android twitter

我正在使用以下代码。

<activity android:name=".PrepareRequestTokenActivity" android:launchMode="singleTask">
    <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="http" android:host="m.devbee.com" />
    </intent-filter>
 </activity>

我的Twitter应用回调网址为Callback URL http://m.devbee.com

现在的问题是在调用此函数后

@Override
    protected Void doInBackground(Void... params) {

        try {
            Log.i(TAG, "Retrieving request token from Google servers");
            final String url = provider.retrieveRequestToken(consumer, Constants.OAUTH_CALLBACK_URL);
            Log.i(TAG, "Popping a browser with the authorize URL : " + url);
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)).setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_FROM_BACKGROUND);
            context.startActivity(intent);
        } catch (Exception e) {
            Log.e(TAG, "Error during OAUth retrieve request token", e);
        }

        return null;
    }

我在浏览器中点击“授权应用”按钮,而不是调用我的PrepareRequestTokenActivity活动,它会显示错误

Web Page Not avaliable.

为什么没有调用活动。网址都是一样的。

1 个答案:

答案 0 :(得分:0)

当您为OAuth身份验证流程(request_tokens方法)请求临时令牌时,它不会返回网页,而是在HTTP请求中返回一些像GET(或POST)参数一样的参数。有关详细信息,请参阅相应的文档:https://dev.twitter.com/docs/api/1/post/oauth/request_token。此外,您是否按照Twitter说明正确验证您的请求(https://dev.twitter.com/docs/auth/authorizing-request)?