<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[callback 에서 기존화면으로 돌아오고싶습니다.]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/900</link>
		<description><![CDATA[<p> 안녕하세요 도와주신덕분에 목표달성에 멀지 않았습니다.<br>
 게시글 insert시에 페이스북 타임라인으로 연동되도록 구현하고 있는데요<br>
 연동이 끝나면 1. insert_ok.jsp 에서 "수정되었습니다" 라는 수정확인 창이 떠야하는데<br>
 callback 화면에서 벗어나지 못하고 있습니다.<br>
 callback 에서 어떤 처리를 해줘야하나요? 참고할 수 있는 함수도 좀 부탁드립니다.<br>
 항상 감사드려요.^^</p>

<p>1. insert_ok.jsp</p>

<p>&lt;%@ page import = "org.apache.commons.io.FilenameUtils"%&gt;<br>
&lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%&gt;<br>
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a href="http://www.w3.org/TR/html4/loose.dtd">http://www.w3.org/TR/html4/loose.dtd</a>"&gt;<br>
&lt;html&gt;<br>
&lt;head&gt;<br>
&lt;/head&gt;<br>
&lt;%</p>

<p> request.setCharacterEncoding("UTF-8");<br>
 <br>
  if(sns[i].equals("facebook")) {<br>
     %&gt;<br>
      &lt;%@ include file="/facebook/index.jsp"%&gt; // facebook 선택시 토큰 갱신처리해주는 페이지를 include합니다.</p>

<p>     &lt;%<br>
     String accessToken = "";<br>
     String sqlkb = "select access_token from sns_info where sns_cd ='facebook' ";   <br>
     <br>
     ResultSet rskb = stmt.executeQuery(sqlkb);<br>
     if(rskb.next()){<br>
       accessToken = rskb.getString("access_token");<br>
     }<br>
        rskb.close();<br>
  <br>
     FacebookClient facebookClient = new DefaultFacebookClient(accessToken);<br>
     FacebookType publishMessageResponse = facebookClient.publish("me/feed", FacebookType.class, Parameter.with("message", "페이스북 연동 테스트입니다."));</p>

<p>    }<br>
%&gt;<br>
 <br>
&lt;body&gt;</p>

<p> &lt;form method="post" name="edit" id="edit"&gt;<br>
 &lt;/form&gt;</p>

<p> &lt;%@ include file="/include/db/db_close.jsp"%&gt;</p>

<p> &lt;script type="text/javascript"&gt;</p>

<p>  //&lt;![CDATA[</p>

<p>   alert("수정되었습니다.");</p>

<p>   opener.reloading()</p>

<p>   self.close()</p>

<p>  //]]&gt;</p>

<p> &lt;/script&gt;</p>

<p>&lt;/body&gt;<br>
&lt;/html&gt;</p>

<p><br>
2. index.jsp</p>

<p>&lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%&gt;<br>
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a href="http://www.w3.org/TR/html4/loose.dtd">http://www.w3.org/TR/html4/loose.dtd</a>"&gt;<br>
&lt;html&gt;<br>
&lt;head&gt;<br>
 &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;<br>
 &lt;title&gt;twitter api&lt;/title&gt;<br>
&lt;/head&gt;<br>
&lt;body&gt;<br>
 <br>
 fb api&lt;br/&gt;<br>
 &lt;%<br>
   String appID = "4684213578220565";<br>
     String callbackUrl = "http://" + request.getServerName() + "/facebook/callback.jsp";<br>
    String oauthUrl = "<a href="https://www.facebook.com/dialog/oauth">https://www.facebook.com/dialog/oauth</a>?" +<br>
                        "client_id="+ appID + "&amp;redirect_uri=" + URLEncoder.encode(callbackUrl, "UTF-8")+<br>
                        "&amp;scope=offline_access";;<br>
     response.sendRedirect(oauthUrl);<br>
   </p>

<p> %&gt;<br>
 <br>
 </p>

<p>&lt;/body&gt;<br>
&lt;/html&gt;</p>

<p><br>
3.  callback.jsp</p>

<p>&lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%&gt;<br>
&lt;<a href="mailto:%25@page">%@page</a> import ="java.net.*,java.io.*" %&gt;</p>

<p><br>
&lt;%<br>
        String code = request.getParameter("code");<br>
        String appID = "4684213578220565";<br>
        String appSecret = "1dasd0b51bd7w8a8cb334a45d66b1se3d";<br>
        String callbackUrl = "<a href="http://localhost/facebook/callback.jsp">http://localhost/facebook/callback.jsp</a>";<br>
        String access_token_url = "<a href="https://graph.facebook.com/oauth/access_token">https://graph.facebook.com/oauth/access_token</a>?"<br>
                + "client_id="+ appID<br>
                + "&amp;redirect_uri=" + URLEncoder.encode(callbackUrl, "UTF-8")<br>
                + "&amp;client_secret=" + appSecret + "&amp;code=" + code;<br>
      </p>

<p>        URL yahoo = new URL(access_token_url);<br>
        URLConnection yc = yahoo.openConnection();<br>
        BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));<br>
       <br>
        String accessToken = null;<br>
        String accessToken2 = null;</p>

<p>    accessToken = in.readLine();<br>
    accessToken = accessToken.substring(accessToken.indexOf("=")+1, accessToken.indexOf("&amp;"));</p>

<p>        in.close();<br>
           <br>
    sql  = "update sns_info set ";<br>
    sql += "access_token='" + accessToken + "'";<br>
    sql += "where sns_cd='facebook'";</p>

<p>    try{<br>
     stmt.executeQuery(sql);<br>
     conn.commit();<br>
    }catch(Exception e){<br>
     conn.rollback();<br>
    }<br>
   </p>

<p>%&gt;</p>

<p><br>
 </p>
]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[작업 완료후 페이지 이동이 문제라면 자바스크립트로도 가능합니다.

callback.jsp 파일 jsp 코드가 끝...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/902</link>
			<description><![CDATA[<p>작업 완료후 페이지 이동이 문제라면 자바스크립트로도 가능합니다.</p>

<p>callback.jsp 파일 jsp 코드가 끝나고 마지막에 자바스크립트로 페이지를 이동해보세요.</p>

<p>&lt;script type="text/javascript"&gt;<br><span style="line-height:1.6em;">//&lt;![CDATA[<br>
location.href = '</span>insert_ok.jsp<span style="line-height:1.6em;">';<br>
//]]&gt;</span><br><span style="line-height:1.6em;">&lt;/script&gt;</span></p>
]]></description>
			<author>스레드봇</author>
			<pubDate>Thu, 05 Sep 2013 11:35:59 +0000</pubDate>
			<category>페이스북 API</category>
		</item>
			</channel>
</rss>