[ 
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)

Reply via email to