Załaduj, zapisz i użyj danych uwierzytelniających w interfejsie API Box Android

Ostatnio próbowałem zaimplementować Box w mojej aplikacji na Androida. Wiem, jak uruchomić działanie uwierzytelniające i przygotować obiekt BoxAndroidClient do działania, ale nie mam pojęcia, jak zapisywać tokeny (SharedPreferences?), Ładować je, a następnie uwierzytelniać przy użyciu załadowanych tokenów, aby użytkownik nie miał logować się do swojego konta skrzynki za każdym razem, gdy chciałby uzyskać dostęp do swoich plików w chmurze.

Próbowałem odświeżyć wcześniej zapisane tokeny (z powodu wyjątku, który powiedział mi, że mój AccessToken jest niepoprawny).

BoxAndroidOAuthData data = new BoxAndroidOAuthData(new HashMap<String, Object>(){
    private static final long serialVersionUID = 1L;
    {
        put(BoxAndroidOAuthData.FIELD_ACCESS_TOKEN, prefs.acc);
        put(BoxAndroidOAuthData.FIELD_REFRESH_TOKEN, prefs.ref);
        put(BoxAndroidOAuthData.FIELD_EXPIRES_IN, prefs.exp);
        put(BoxAndroidOAuthData.FIELD_TOKEN_TYPE, prefs.typ);
    }
});
data = new BoxAndroidOAuthData(client.getOAuthManager().refreshOAuth(BoxOAuthRequestObject.refreshOAuthRequestObject(data.getRefreshToken(), C, S)));

I mam inny wyjątek:

07-02 22:07:16.433: W/System.err(4684): com.box.restclientv2.exceptions.BoxRestException: Unexpected token (END_OBJECT), expected FIELD_NAME: missing property 'type' that is to contain type id  (for class com.box.boxjavalibv2.dao.BoxServerError)
07-02 22:07:16.433: W/System.err(4684):  at [Source: java.io.StringReader@b55b2c78; line: 1, column: 69]
07-02 22:07:16.433: W/System.err(4684):     at com.box.restclientv2.responseparsers.DefaultBoxJSONResponseParser.parse(DefaultBoxJSONResponseParser.java:75)
07-02 22:07:16.433: W/System.err(4684):     at com.box.boxjavalibv2.responseparsers.ErrorResponseParser.parse(ErrorResponseParser.java:31)
07-02 22:07:16.433: W/System.err(4684):     at com.box.restclientv2.responses.DefaultBoxResponse.parseResponse(DefaultBoxResponse.java:51)
07-02 22:07:16.433: W/System.err(4684):     at com.box.boxjavalibv2.resourcemanagers.BoxResourceManager.getResponseAndParse(BoxResourceManager.java:168)
07-02 22:07:16.433: W/System.err(4684):     at com.box.boxjavalibv2.resourcemanagers.BoxResourceManager.getResponseAndParseAndTryCast(BoxResourceManager.java:143)
07-02 22:07:16.433: W/System.err(4684):     at com.box.boxjavalibv2.resourcemanagers.BoxOAuthManager.refreshOAuth(BoxOAuthManager.java:68)


Ponieważ nie znalazłem żadnych samouczków na temat prawidłowego wykonywania części autoryzowanej w Javie (próbki zawarte w SDK nie obejmują żadnej metody zapisywania tokenów), czy ktoś mógłby stanowić dobry przykład?

questionAnswers(2)

yourAnswerToTheQuestion