안녕하세요. 오전에 질문드렸었는데,
페이스북 앱을 하나 만들어서 사용하고 있는데요, 앱관리 edit App 메뉴에서 좌측하단 메뉴에 보면 Use Graph API Explorer 라는 링크가 있더라구요,
부가기능에 제가 만든 앱이름과 Graph API Explorer 가 있어서
혹시나해서 Graph API Explorer 의 access token을 새로 받아 게시글을 등록해보니 제 계정뿐아니라 다른 계정 사용자들도 게시글이 보이던데
Graph API Explorer 액세스토큰을 얻으려면 다른 방법으로 개발을 해야하나요? 기존에는 app id 와, app secret 코드를 사용하잖아요?
Graph API Explorer에서도 생성되있는 id가 있던데, 이 id로 변경해봐도 소용은 없더라구요..
api 설명을 봐도 모르겠고 해서 도움 요청드립니다.
====index.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>twitter api</title>
</head>
<body>
fb api<br/>
<%
String appID = "13548216848735432748";
String callbackUrl = "http://" + request.getServerName() + "/facebook/callback.jsp";
String oauthUrl = "https://www.facebook.com/dialog/oauth?" +
"client_id="+ appID + "&redirect_uri=" + URLEncoder.encode(callbackUrl, "UTF-8")+
"&scope=publish_stream, offline_access";
response.sendRedirect(oauthUrl);
%>
</body>
</html>
==== callback.jsp
<%
String code = request.getParameter("code");
String appID = "13548216848735432748";
String appSecret = "1db1dasdfeseree4a7e966b16ce4";
String callbackUrl = "http://" + request.getServerName() + "/facebook/callback.jsp";
String access_token_url = "https://graph.facebook.com/oauth/access_token?"
+ "client_id="+ appID
+ "&redirect_uri=" + URLEncoder.encode(callbackUrl, "UTF-8")
+ "&client_secret=" + appSecret + "&code=" + code;
URL yahoo = new URL(access_token_url);
URLConnection yc = yahoo.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
String accessToken = null;
accessToken = in.readLine();
accessToken = accessToken.substring(accessToken.indexOf("=")+1, accessToken.indexOf("&"));
in.close();
%>
=======insert.jsp
FacebookClient facebookClient = new DefaultFacebookClient(accessToken);
FacebookType publishMessageResponse = facebookClient.publish("me/feed", FacebookType.class, Parameter.with("message", "게시글 내용"));
전부 전체공개로 되어있습니다.
차이점은 앱 수정하기 항목에 들어가보면
회원님을 대신해 올리는 게시물 란에
Graph API Explorer는
이 앱은 회원님을 대신해 activities you tracked, songs you saved 등을 게시할 수 있습니다.
제가만든 앱이름계정으로는
이 앱은 회원님을 대신해 상태 업데이트, 사진 등과 같은 게시물을 올릴 수 있습니다.
부분인데 .. 이부분에서의 차이땜에 그러는걸까요?
Graph API Explorer는 또하나의 페이스북 API를 사용하는 앱이라고 생각하시면 간단합니다.
글이 올라갔다면 더이상 도큐먼트를 찾아보셔도 원인을 찾기는 힘들꺼에요.. 오류없이 정상적으로 동작했기 때문이죠
이전 게시물에도 남겼지만 분명 공개 옵션 때문일겁니다.
계정설정 -> 앱 메뉴에서 만드신 앱의 공개설정이 어떻게 되어 있나요?