Mirror API добавляет элемент шкалы времени в офлайн

У меня есть зеркальное приложение API, и я авторизовал пользователей через outh и сохранил их токен доступа и обновил токен в базе данных для автономного использования. Теперь я хочу добавить элемент временной шкалы для этих пользователей в автономном режиме (используя сохраненный токен доступа и токен обновления).

Вот мой код,

String accessToken = db.getAccessToken();
String refreshToken = db.getRefreshToken();

BatchRequest batch = MirrorClient.getMirror(null).batch();
BatchCallback callback = new BatchCallback();

TimelineItem notifyTimelineItem = new TimelineItem();
notifyTimelineItem.setHtml(ZONE_HTML);
Credential userCredential = AuthUtil.getCredential(userUniqueId);

userCredential.setAccessToken(accessToken);
userCredential.setRefreshToken(refreshToken); 

MirrorClient.getMirror(userCredential).timeline().insert(notifyTimelineItem).queue(batch, callback);
batch.execute();

Здесь я получаю сообщение об ошибке типа Не удалось вставить элемент, пользователю необходимо войти в систему. Как я могу добавить пункт шкалы в автономном режиме?

1 ответ

Решение

На самом деле я получил userCredential как null, Поэтому я использовал приведенный ниже код, и он отлично работает.

String accessToken = db.getAccessToken();
Mirror service = new Mirror.Builder(new NetHttpTransport(), new GsonFactory(), null).setApplicationName("GOauthAndroid").build();

TimelineItem timelineItem = new TimelineItem();
timelineItem.setHtml(DANGER_ZONE_HTML);
timelineItem.setNotification(new NotificationConfig().setLevel("DEFAULT"));
try {   
    service.timeline().insert(timelineItem).setOauthToken(newAccessToken).execute();
} catch (IOException e) {
    e.printStackTrace();
}
Другие вопросы по тегам