/** * Generate the parameter string to be included in the Facebook API request. * * @param parameters Arbitrary number of extra parameters to include in the request. * @return The parameter string to include in the Facebook API request. * @throws FacebookJsonMappingException If an error occurs when building the parameter string. */ protected String toParameterString(Parameter... parameters) { if (!isBlank(accessToken)) parameters = parametersWithAdditionalParameter(Parameter.with(ACCESS_TOKEN_PARAM_NAME, accessToken), parameters); parameters = parametersWithAdditionalParameter(Parameter.with(FORMAT_PARAM_NAME, "json"), parameters); StringBuilder parameterStringBuilder = new StringBuilder(); boolean first = true; for (Parameter parameter : parameters) { if (first) first = false; else parameterStringBuilder.append("&"); parameterStringBuilder.append(urlEncode(parameter.name)); parameterStringBuilder.append("="); parameterStringBuilder.append(urlEncodedValueForParameterName(parameter.name, parameter.value)); } return parameterStringBuilder.toString(); }
/** * @see com.restfb.FacebookClient#executeQuery(String, * Class, com.restfb.Parameter[]) */ @Override public <T> List<T> executeQuery(String query, Class<T> objectType, Parameter... parameters) { verifyParameterPresence("query", query); verifyParameterPresence("objectType", objectType); for (Parameter parameter : parameters) if (QUERY_PARAM_NAME.equals(parameter.name)) throw new IllegalArgumentException("You cannot specify the '" + QUERY_PARAM_NAME + "' URL parameter yourself - " + "RestFB will populate this for you with " + "the query you passed to this method."); return jsonMapper.toJavaList( makeRequest("fql.query", true, false, false, null, parametersWithAdditionalParameter(Parameter.with(QUERY_PARAM_NAME, query), parameters)), objectType); }
parameters = parametersWithAdditionalParameter(Parameter.with(ACCESS_TOKEN_PARAM_NAME, accessToken), parameters); parameters = parametersWithAdditionalParameter( Parameter.with(APP_SECRET_PROOF_PARAM_NAME, obtainAppSecretProof(accessToken, appSecret)), parameters); parameters = parametersWithAdditionalParameter(Parameter.with(FORMAT_PARAM_NAME, "json"), parameters);
JsonObject jsonObject = new JsonObject(makeRequest("", parametersWithAdditionalParameter(Parameter.with(IDS_PARAM_NAME, join(ids)), parameters)));
parametersWithAdditionalParameter(Parameter.with(IDS_PARAM_NAME, idArray.toString()), parameters));
parameters = parametersWithAdditionalParameter(Parameter.with(METHOD_PARAM_NAME, "delete"), parameters);
parameters = parametersWithAdditionalParameter(Parameter.with(METHOD_PARAM_NAME, "delete"), parameters);
JsonArray jsonArray = new JsonArray(makeRequest("fql.multiquery", true, false, false, null, parametersWithAdditionalParameter(Parameter.with(QUERIES_PARAM_NAME, queriesToJson(queries)), parameters)));