Это может быть наиболее часто задаваемый вопрос на SO, но я все еще не могу решить свою проблему. Я проверил это, это и многие другие, но проблема все еще существует.
Если приложение Twitter установлено на устройстве пользователя, все работает нормально, но если его нет, я получаю следующее сообщение об ошибке.
Недопустимый json: URL-адрес обратного вызова не одобрен для этого клиентского приложения. Утвержденные URL-адреса обратного вызова можно настроить в настройках приложения com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Ожидается BEGIN_OBJECT, но в строке 1 столбце 1 путь $
Вызвано: java.lang.IllegalStateException: ожидался BEGIN_OBJECT, но был STRING в строке 1, столбце 1, пути $
com.twitter.sdk.android.core.TwitterApiException: HTTP-запрос не выполнен, статус: 403 на com.twitter.sdk.android.core.Callback.onResponse(Callback.java:42)
Я определил https://www.google.com
как URL-адрес обратного вызова, и ниже приведена моя реализация.
//Activity Class
Twitter.initialize(this);
button.setCallback(new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
TwitterSession session = TwitterCore.getInstance().getSessionManager().getActiveSession();
TwitterAuthToken authToken = session.getAuthToken();
String token = authToken.token;
String secret = authToken.secret;
login(session);
}
@Override
public void failure(TwitterException exception) {
Log.d("Failure", "failure");
}
});
Strings.xml
<string name="com.twitter.sdk.android.CONSUMER_KEY">---</string>
<string name="com.twitter.sdk.android.CONSUMER_SECRET">---</string>
Грейдл
compile 'com.twitter.sdk.android:twitter:3.1.1'
ИЗМЕНИТЬ
Я также пробовал twittersdk://
и twitterkit-consumer-key://
в качестве URL-адреса обратного вызова.