package kr.ac.kaist.resl.lilliput.core; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import kr.ac.kaist.resl.lilliput.util.MongoHelper; import org.apache.commons.io.IOUtils; import com.restfb.DefaultFacebookClient; import com.restfb.FacebookClient; import com.restfb.Parameter; import com.restfb.types.FacebookType; /** * Servlet implementation class SNSPusher */ public class SNSPusher extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public SNSPusher() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String epc = (String)request.getParameter("epc"); String message = (String)request.getParameter("message"); pushToFacebook(epc,message); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } public void pushToFacebook(String epc, String message) { try { MongoHelper mHelper = new MongoHelper(); //epc�� fid�� ã�Ƽ� String fid = mHelper.getFacebookID(epc); URL url = new URL("https://graph.facebook.com/oauth/access_token?client_id=136511403124173&client_secret=6d2d602142b59b0df5738c7a151c66cf&grant_type=client_credentials"); URLConnection con = url.openConnection(); InputStream in = con.getInputStream(); String encoding = con.getContentEncoding(); encoding = encoding == null ? "UTF-8" : encoding; String body = IOUtils.toString(in, encoding); String[] tokens = body.split("="); String accessToken = mHelper.getAccessToken(epc); FacebookClient facebookClient = new DefaultFacebookClient(accessToken); facebookClient.publish(fid + "/feed", FacebookType.class, Parameter.with("message", message )); return; } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return; } }