Я не понимаю, почему этот запрос не работает в Android и "Graph Api Explorer", если он
111891332274505?fields=albums.fields(id,name,description,updated_time,created_time,cover_photo)
Код ошибки
Код ошибки: 2500 Сообщение об ошибке: {HttpStatus: 400, errorCode: 2500, errorType: OAuthException, errorMessage: Синтаксическая ошибка «Ожидается конец строки вместо «?»». в символе 6: photos?access_token=XXXXXXXXXXXX}
Код
public void getAlbumFacebook () {
Request request = new Request(session, "/111891332274505?fields=albums.fields(id,name,description,updated_time,created_time,cover_photo)", null, HttpMethod.GET, new Request.Callback() {
@Override
public void onCompleted(Response response) {
GraphObject graphObject = response.getGraphObject();
FacebookRequestError error = response.getError();
if (error != null) {
DebugLog.log("Error code: " + error.getErrorCode() + " Error mensaje: " + error.toString());
}
if (graphObject != null) {
JSONArray jsonArray = (JSONArray) graphObject.getProperty("data");
DebugLog.log("JSON Facebook "+ jsonArray.toString());
} else {
DebugLog.log("Es null");
}
}
});
Request.executeBatchAsync(request);
}
РЕШЕНИЕ
Я уже смог решить проблему, которую я могу вывести, заключается в том, что класс «Запрос» не может консультироваться со вставленными полями.
В конце концов, что я сделал, так это построил URL-адрес и запросил данные через URL-адрес.
Создать URL
String id = "111891332274505";
String url = "https://graph.facebook.com/" + id + "/albums?access_token=" + session.getAccessToken() + "&fields=id,name,description,updated_time";
Запрос кода
public JSONObject getRequestFromUrl (String url) {
try {
httpClient = new DefaultHttpClient();
HttpGet get = new HttpGet(url);
HttpResponse httpResponse = httpClient.execute(get);
HttpEntity responseEntity = httpResponse.getEntity();
is = responseEntity.getContent();
DebugLog.log("Estoy aqui");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
json = sb.toString();
Log.e("JSON", json);
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
return jObj;
}
Syntax error "Expected end of string instead of "?"." at character 6: photos?access_token=XXXXXXXXXXXX}
Позвольте мне взглянуть на справку по API. - person hichris123   schedule 29.11.2013