0

I have a mirror api app, and authorised users via outh and saved their access token and refresh token in database for offline use. Now I want to add timeline item to those users offline (using saved access token and refresh token).

Here is my code,

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

Here am getting error like Failed to insert item, user need to login . How can I add timeline item in offline?

Karthi Ponnusamy
  • 2,031
  • 2
  • 25
  • 41
  • Double check your credentials. The Mirror api will work provided you have the correct credential created and stored with the unique user id. – John Fontaine Jul 14 '14 at 17:29

1 Answers1

0

Actually I got userCredential as null. So I used below code and it works fine.

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();
}
Karthi Ponnusamy
  • 2,031
  • 2
  • 25
  • 41