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)