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();
}