URL обратного вызова для твиттера - PullRequest
2 голосов
/ 24 августа 2011

Я создаю приложение для Android, в которое мне нужно интегрировать твиттер для загрузки на него изображения с помощью библиотеки twitter4j.

Я не могу указать URL обратного вызова в твиттере для приложения.

Пожалуйста, помогите мне.

1 Ответ

1 голос
/ 01 марта 2015

Вы должны использовать фильтры намерений для получения обратного вызова в случае твиттера как

requestToken = twitterFactory.getInstance()
                    .getOAuthRequestToken("oauth://com.example.twitter"); //note that "oauth" is your scheme name, "com.example.twitter" is your host name  on your intent-filter

К действию, когда вы хотите получить обратный вызов после авторизации, добавьте следующий фильтр намерений

<activity android:name=".TwitterActivity"
              android:label="@string/app_name">
    <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="oauth" android:host="com.example.twitter"  />
    </intent-filter>
</activity>

И в вашей Деятельности, где вы хотите получить обратный вызов (в данном случае TwitterActivity), получите ваш верификатор как

Uri uri = getIntent().getData();
if (uri != null && uri.toString().startsWith("oauth://com.example.twitter")) {
    String verifier = uri.getQueryParameter("oauth_verifier");
    // request for access token using requestToken and verifier which are used to login second time
}

Здесь важно отметить следующее:

-> прежде всего вы запрашиваетезапросите токен, вызвав web api

-> этот токен запроса может использоваться для авторизации вашего пользователя

-> после авторизации ваш браузер загрузит определенный URL, который может начать вашу деятельность, так как вы добавили intent-фильтрк вашей деятельности с соответствующим именем хоста и именем схемы (то есть host = "oauth", схема = "com.example.twitter")

-> вы можете получить токены доступа из загруженного URL-адреса, т.е. извлекать верификатор изэто и используя ваш токен запроса

для подробного кода, пожалуйста, посетите https://bitbucket.org/hintdesk/android-how-to-tweet-in-twitter-within-android-client/src/f8923a4a641313cae7243da51530b472730c2439?at=default

...