[ https://issues.apache.org/jira/browse/OLTU-216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Antonio Sanso closed OLTU-216. ------------------------------ > How to set the query parameter the apache oltu OAuthClientRequest or > OAuthBearerClientRequest? > ---------------------------------------------------------------------------------------------- > > Key: OLTU-216 > URL: https://issues.apache.org/jira/browse/OLTU-216 > Project: Apache Oltu > Issue Type: Bug > Reporter: Prateek > Priority: Major > > How to set `query` parameter in the **Apache Oltu** ? > > {code:java} > // Set the access Token in the header > HttpHeaders headers = new HttpHeaders(); > headers.add("Authorization", "Bearer > "+oAuthResponse.getAccessToken()); > headers.set("Accept", MediaType.APPLICATION_JSON_VALUE); > > // create HTTP Entity > HttpEntity<?> entity = new HttpEntity<>(headers); > > > //create Uri Component Builder > UriComponentsBuilder builder = > UriComponentsBuilder.fromHttpUrl("https://ap5.salesforce.com/services/data/v40.0/query") > .queryParam("q", "SELECT Id, Name FROM Contact > WHERE Name='Chris Smith'"); > > > // RestTemplate > RestTemplate restTemplate = new RestTemplate(); > HttpEntity<String> resourceResponse = > restTemplate.exchange(builder.build().encode().toUri(), > HttpMethod.GET,entity,String.class); > > System.out.println("==============================================================="); > System.out.println("RESULT :: "+resourceResponse.getBody()); > {code} > Now when I am trying to used the **Apache Oltu API**, I see the problem in > how to set the query parameters. > I developed the below code, but there I am facing the below issue: > > {code:java} > OAuthClientRequest request = OAuthClientRequest > .tokenLocation(ACCESS_TOKEN_URL) > .setGrantType(GrantType.AUTHORIZATION_CODE) > .setClientId(CLIENT_ID) > .setClientSecret(CLIENT_SECRET) > .setRedirectURI(REDIRECT_URL) > .setCode(authorizationCode) > .buildQueryMessage(); > > //create OAuth client that uses custom http client under the hood > OAuthClient oAuthClient = new OAuthClient(new URLConnectionClient()); > OAuthAccessTokenResponse oAuthResponse = > oAuthClient.accessToken(request, OAuth.HttpMethod.POST); > > // > UriComponentsBuilder builder = > UriComponentsBuilder.fromHttpUrl("https://ap5.salesforce.com/services/data/v40.0/query") > .queryParam("q", "SELECT Id, Name FROM Contact WHERE > Name='Chris Smith'"); > > > request= new > OAuthBearerClientRequest("https://ap5.salesforce.com/services/data/v41.0/"). > setAccessToken(oAuthResponse.getAccessToken()). > buildBodyMessage(); > request.setLocationUri(builder.build().encode().toString()); > > > OAuthClient client = new OAuthClient(new URLConnectionClient()); > OAuthResourceResponse resourceResponse= client.resource(request, "GET", > OAuthResourceResponse.class); > > if (resourceResponse.getResponseCode()==200){ > logger.debug("HTTP OK"); > System.out.println(resourceResponse.getBody()); > return resourceResponse.getBody(); > } > else{ > System.out.println("Could not access resource: " + > resourceResponse.getResponseCode()+ " " + resourceResponse.getBody()); > return null; > } > } > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)