package com.juick.api; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponents; import org.springframework.web.util.UriComponentsBuilder; @Component public class FacebookPageManager { private static Logger logger = LoggerFactory.getLogger(FacebookPageManager.class); @Value("${facebook_page_id}") private String pageId; @Value("${facebook_page_access_token}") private String accessToken; public void post(String status, String link) { UriComponents uriComponents = UriComponentsBuilder.fromUriString("https://graph.facebook.com/{page_id}/feed") .queryParam("message", status) .queryParam("link", link) .queryParam("access_token", accessToken) .buildAndExpand(pageId); RestTemplate api = new RestTemplate(); api.getMessageConverters().add(new MappingJackson2HttpMessageConverter()); ResponseEntity response = api.exchange(uriComponents.toUri(), HttpMethod.POST, null, String.class); logger.info("Facebook response: {}", response.getBody()); } }