0

次のコードを使用しています。

<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アプリのコールバックURLは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;
    }

ブラウザで [Authorize App] ボタンをクリックすると、PrepareRequestTokenActivityアクティビティが呼び出される代わりに、次のエラーが表示されます。

Web Page Not avaliable.

アクティビティが呼び出されない理由。URLは両方とも同じです。

4

1 に答える 1

0

OAuth 認証フロー (request_tokens メソッド) の一時的なトークンを要求すると、Web ページは返されませんが、HTTP 要求で GET (または POST) 引数のように記述されたいくつかのパラメーターが返されます。詳細については、対応するドキュメントを参照してください: https://dev.twitter.com/docs/api/1/post/oauth/request_token。さらに、Twitter の指示に従ってリクエストを正しく認証していますか ( https://dev.twitter.com/docs/auth/authorizing-request )。

于 2012-07-18T17:17:21.993 に答える