/** * Make a new Graph Request. View: * https://developers.facebook.com/docs/graph-api/reference/v2.4/request * * @param request * @param callback */ public void newGraphRequest( GDXFacebookGraphRequest request, final GDXFacebookCallback<JsonResult> callback) { String accessToken = null; if (getAccessToken() != null) { accessToken = getAccessToken().getToken(); } if (request.isUseCurrentAccessToken() && accessToken != null) { request.putField("access_token", accessToken); } Net.HttpRequest httpRequest = new Net.HttpRequest(request.getMethod()); String url = request.getUrl() + config.GRAPH_API_VERSION + "/" + request.getNode(); httpRequest.setUrl(url); httpRequest.setContent(request.getContentAsString()); httpRequest.setTimeOut(request.getTimeout()); HttpRequestBuilder builder = new HttpRequestBuilder().newRequest(); builder.method(request.getMethod()); Gdx.net.sendHttpRequest( httpRequest, new Net.HttpResponseListener() { @Override public void handleHttpResponse(Net.HttpResponse httpResponse) { String resultString = httpResponse.getResultAsString(); int statusCode = httpResponse.getStatus().getStatusCode(); if (statusCode == -1) { GDXFacebookError error = new GDXFacebookError( "Connection time out. Consider increasing timeout value by using setTimeout()"); callback.onError(error); } else if (statusCode >= 200 && statusCode < 300) { callback.onSuccess(new JsonResult(resultString)); } else { GDXFacebookError error = new GDXFacebookError("Error: " + resultString); callback.onError(error); } } @Override public void failed(Throwable t) { t.printStackTrace(); callback.onFail(t); } @Override public void cancelled() { callback.onCancel(); } }); }