List of usage examples for org.springframework.social.facebook.api FacebookError getUserMessage
public String getUserMessage()
From source file:pl.sgorecki.facebook.marketing.ads.impl.FacebookAdsErrorHandler.java
private FacebookError extractErrorFromResponse(ClientHttpResponse response) throws IOException { String json = readResponseJson(response); try {//from www . j av a 2 s .c o m ObjectMapper mapper = new ObjectMapper(new JsonFactory()); JsonNode jsonNode = mapper.readValue(json, JsonNode.class); if (jsonNode.has("error")) { JsonNode errorNode = jsonNode.get("error"); Integer code = errorNode.has("code") ? errorNode.get("code").intValue() : null; String type = errorNode.has("type") ? errorNode.get("type").asText() : null; String message = errorNode.has("message") ? errorNode.get("message").asText() : null; Integer subcode = errorNode.has("error_subcode") ? errorNode.get("error_subcode").intValue() : null; String userMessage = errorNode.has("error_user_msg") ? errorNode.get("error_user_msg").asText() : null; String userTitle = errorNode.has("error_user_title") ? errorNode.get("error_user_title").asText() : null; FacebookError error = new FacebookError(code, type, message, subcode, userMessage, userTitle); if (logger.isDebugEnabled()) { logger.debug("Facebook error: "); logger.debug(" CODE : " + error.getCode()); logger.debug(" TYPE : " + error.getType()); logger.debug(" SUBCODE : " + error.getSubcode()); logger.debug(" MESSAGE : " + error.getMessage()); logger.debug(" USER TITLE : " + error.getUserTitle()); logger.debug(" USER MESSAGE: " + error.getUserMessage()); } return error; } } catch (JsonParseException e) { return null; } return null; }
From source file:pl.sgorecki.facebook.marketing.ads.impl.FacebookAdsErrorHandler.java
/** * Examines the error data returned from Facebook and throws the most applicable exception. *//* w w w.ja v a2 s. c o m*/ void handleFacebookError(HttpStatus statusCode, FacebookError error) { if (error.getCode() != null) { int code = error.getCode(); if (code == UNKNOWN) { throw new UncategorizedApiException(FACEBOOK_PROVIDER_ID, error.getMessage(), null); } else if (code == SERVICE) { throw new ServerException(FACEBOOK_PROVIDER_ID, error.getMessage()); } else if (code == TOO_MANY_CALLS || code == USER_TOO_MANY_CALLS || code == EDIT_FEED_TOO_MANY_USER_CALLS || code == EDIT_FEED_TOO_MANY_USER_ACTION_CALLS || code == USER_APP_TOO_MANY_CALLS || code == AD_CREATION_LIMIT_EXCEEDED) { throw new RateLimitExceededException(FACEBOOK_PROVIDER_ID); } else if (code == PERMISSION_DENIED || isUserPermissionError(code)) { throw new InsufficientPermissionException(FACEBOOK_PROVIDER_ID); } else if (code == PARAM_SESSION_KEY || code == PARAM_SIGNATURE) { throw new InvalidAuthorizationException(FACEBOOK_PROVIDER_ID, error.getMessage()); } else if (code == PARAM_ACCESS_TOKEN && error.getSubcode() == null) { throw new InvalidAuthorizationException(FACEBOOK_PROVIDER_ID, error.getMessage()); } else if (code == PARAM_ACCESS_TOKEN && error.getSubcode() == 463) { throw new ExpiredAuthorizationException(FACEBOOK_PROVIDER_ID); } else if (code == PARAM_ACCESS_TOKEN) { throw new RevokedAuthorizationException(FACEBOOK_PROVIDER_ID, error.getMessage()); } else if (code == MESG_DUPLICATE) { throw new DuplicateStatusException(FACEBOOK_PROVIDER_ID, error.getMessage()); } else if (code == DATA_OBJECT_NOT_FOUND || code == PATH_UNKNOWN) { throw new ResourceNotFoundException(FACEBOOK_PROVIDER_ID, error.getMessage()); } else if (code == PARAM && error.getSubcode() != null && error.getSubcode() == 1487564) { throw new InvalidCampaignStatusException(FACEBOOK_PROVIDER_ID, error.getUserMessage()); } else if (code == PARAM && error.getSubcode() != null) { throw new InvalidParameterException(FACEBOOK_PROVIDER_ID, error.getUserMessage()); } else { throw new UncategorizedApiException(FACEBOOK_PROVIDER_ID, error.getMessage(), null); } } }