package com.uservoice.uservoicesdk.model; import com.uservoice.uservoicesdk.Session; import com.uservoice.uservoicesdk.rest.Callback; import com.uservoice.uservoicesdk.rest.RestTaskCallback; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; public class AccessToken extends BaseModel { private String key; private String secret; public static void authorize(String email, String password, final Callback<AccessToken> callback) { Map<String, String> params = new HashMap<String, String>(); params.put("email", email); params.put("password", password); params.put("request_token", Session.getInstance().getRequestToken().getKey()); doPost(apiPath("/oauth/authorize.json"), params, new RestTaskCallback(callback) { @Override public void onComplete(JSONObject result) throws JSONException { callback.onModel(deserializeObject(result, "token", AccessToken.class)); } }); } @Override public void load(JSONObject object) throws JSONException { key = object.getString("oauth_token"); secret = object.getString("oauth_token_secret"); } public String getKey() { return key; } public String getSecret() { return secret; } public void save(JSONObject object) throws JSONException { object.put("oauth_token", key); object.put("oauth_token_secret", secret); } }