You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oltu.apache.org by "Antonio Sanso (JIRA)" <ji...@apache.org> on 2017/11/01 12:39:01 UTC
[jira] [Resolved] (OLTU-216) How to set the query parameter the
apache oltu OAuthClientRequest or OAuthBearerClientRequest?
[ https://issues.apache.org/jira/browse/OLTU-216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Antonio Sanso resolved OLTU-216.
--------------------------------
Resolution: Not A Problem
Prateek as discussed this previously JIRA is not the right channel for questions.
You should rather send email to user@oltu.apache.org
> 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)