Oauth Callback не найден после разрешения приложения в Twitter - PullRequest
3 голосов
/ 12 декабря 2010

Эй.Я разрабатываю приложение с использованием API Twitter4j.Чтобы разрешить приложению и получить токен доступа, я запускаю браузер с параметрами обратного вызова, которые я установил в файле манифеста.

<data android:scheme="scheme" android:host="authenticatorapp"></data> 

После разрешения приложения браузер вызывает следующее и дает сбойс не найденным сообщением.схема: // authenticatorapp? oauth_token = n5vd99dfnmnf ...

Я пробовал как на эмуляторе, так и на устройстве.В эмуляторе LogCat дает мне следующее:

12-12 15: 04: 05.743: ОШИБКА / браузер (230): схема onReceivedError -10: // authenticatorapp? Oauth_token = Jj ... M & oauth_verifier = 3ZfuY... Протокол не поддерживается.

- Файл манифеста:

    <activity android:name=".AuthenticatorApp"
        android:launchMode="singleInstance"
        >
        <intent-filter>         
            <category android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.LAUNCHER" />
            <data android:scheme="scheme" android:host="authenticatorapp"></data>                                
        </intent-filter>            
    </activity>

    <!-- Broadcast Receiver that will process AppWidget updates -->
    <receiver android:name=".ZaytungWidget" android:label="@string/widget_name">
        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />                             
        </intent-filter>
        <meta-data android:name="android.appwidget.provider"
            android:resource="@xml/tweet_metadata" />
    </receiver>
    <!-- Service to perform web API queries -->
    <service android:name=".ZaytungWidget$UpdateService" />
</application>

<uses-sdk android:minSdkVersion="4" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.INTERNET" />    

Ответы [ 3 ]

3 голосов
/ 12 декабря 2010

Не могли бы вы опубликовать весь файл манифеста?

Я нашел следующий вопрос, который может пригодиться позже: Состояние экземпляра OAuth в Android

Вопрос связан со следующим примером приложения, который может быть полезным:

http://code.google.com/p/jpoco/source/browse/trunk/jpoco-android-app/AndroidManifest.xml

1 голос
/ 12 декабря 2010

Это то, что у меня есть в моем рабочем Manifest.xml, где org.gpsagenda.OAUTH - это действие, выполняющее аутентификацию.

        <activity android:name="org.gpsagenda.OAUTH" >
        <intent-filter>
            <action android:name="android.intent.action.VIEW"></action>
            <category android:name="android.intent.category.DEFAULT"></category>
            <category android:name="android.intent.category.BROWSABLE"></category>
            <data android:scheme="gpsagenda" android:host="twitt" />
        </intent-filter>
    </activity>
0 голосов
/ 12 декабря 2010

Если вы разрабатываете собственное приложение, вы не используете параметры обратного вызова, но должны позволить пользователю ввести пин-код в вашем приложении где-нибудь, что он получает, когда вы открываете authorization_url в браузере или, возможно, более удобнов вашем приложении в веб-просмотре.

Вы также можете автоматически получить пин-код после того, как пользователь нажал «да» на веб-странице авторизации в Твиттере, но не уверен, что это не так, как в Твиттере.

...