어제 이어 한가지 더 질문 드리겠습니다.ㅜㅜ

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko"  xmlns:fb="http://www.facebook.com/2008/fbml">
 
 <head>
  <title>facebook login</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="content-language" content="kr" />
  <meta name="author" content="JH" />
  <meta name="description" content="facebook login" />
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
  <script type="text/javascript" src="//connect.facebook.net/ko_KR/all.js"></script>
  <script type="text/javascript" charset="utf-8">
 //페이스북 설정파일
  window.fbAsyncInit = function() {
   FB.init({
    appId  : '194720617345573',
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true, // parse XFBML
    oauth  : true // enable OAuth 2.0 <!-- API가 번전업이 됬다는 소리입니다. 꼭 넣어 주세요 -->
  });
  };
  (function(d){
     var js, id = 'facebook-jssdk' if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/ko_KR/all.js";
     d.getElementsByTagName('head')[0].appendChild(js);
   }(document));


  function facebookLogin () {

  FB.login(function(response) {
    if (response.authResponse) {
     var uid = response.authResponse.userID;
     var accessToken = response.authResponse.accessToken;
     FB.api({
      method: 'fql.query',
      query: 'SELECT uid, name, username, email FROM user WHERE uid=' + uid
      },
      function(response) {
       var user = response[0];
       alert(user.name);
      }
     );
    } else {
     alert("Facebook 통신이 원활하지 않습니다. \n잠시후 다시 이용해주세요.");     
    }
   },
   { scope: "read_stream" }
   );
  }
</script>


</head>
 
<body>
 
 <div id="fb-root"></div>
<a href="nojavascript...facebookLogin();">페이스북 로그인 정보가져오기</a>
</body>
</html>

 

--------------------------------------------------FQL을 사용중입니다.. 그런데 돌리면 창이 뜬 후. 로그인을 합니다. 로그인을하면...

입력하신 URL은 해당 앱에서 허용되지 않습니다.:

One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains.

이러한 에러가 뜨더군요. ㅠ 외국 사이트에 올라와있는 답변을 참조해보면,

API ID 및 URL 주소가 잘못되엇다는 등에 말이 더라구요..

ID는 정확하구요.. URL주소 같은 경우에는.. 어제 제가 돌리던 소스 그대로 설정 해놓은거라 건드린게 없어요..

기존에 토큰을 얻는 로그인인증에도 썻던 그 URL주소입니다.. 그런데 지금 올린 jsp 에서 어떤게 문제인지 모르겟네요...

한가지 더 질문은... 페이스북 홈페이지에서 URL설정하는 그 URL은 callbackURL과 다른 애인가요?

... 아무리 찾아보ㅕㄴ서 공부해도 ..와닿질 안습니다.ㅠㅠㅠㅠㅠ

 

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 답변 감사드립니다.

    전번에도 봇 님처럼 말씀해주신 분이 계셨는데.

    역시 그문제 인거 같네요..

    잘알겠습니다. 토큰값은 정상적으로 가져옵니다 ㅎ

  • 192.168.1.119 는 공유기 내부 ip로 보이고요 그렇다면, 외부에서는 접속이 안되겠죠

    그리고 위 코드는 사용자 정보를 가져오는 코드로 보입니다. 토큰값은 정삭적으로 가져오나요?

     

    ip주소이를 사용한 것이 문제가 되는듯 합니다.

    쿠키등 인증문제도 발생할 가능성이 있다고 봅니다.

    사용가능한 도메인이 있으면 도메인 주소로 테스트를 해보면 어떨까 합니다.

  • 답변 이해 하였습니다..

    저는 설정 URL 이 http://192.168.1.119:9090/face/face2.jsp 이렇게됩니ㄷㅏ.

    callbackURL 역시 http://192.168.1.119:9090/face/face2.jsp 입니다.

    그래서 '봇'님 말씀 대로 URL 설정을 http://192.168.1.119:9090/ 까지주었씁니당...

    그런데 역시 똑같은 메세지가 뜹니다.ㅜㅜ

    이상한건.. 어제 제가 테스트했던 그 소스들( 토큰 받아오기. 친구리스트) 불러오는 것은 다되는대

    지금 하고있는 이 위에 소스및. 로그인 사용자 정보를 받아오는 등의 소스들은 로그인을 하고나면 바로 이 위에 메시지를 호출합니다..

    페이스북에서 URL을 받을수없습니다.. 라는 식의 메시지요 ㅜㅜ

    아.. 얘들만 이러니. 가슴아푸네요.. 타임라인쪽 불러오는것을 FQL로 할수있다는것을 찾아서 좋앗는대..

    산넘고산너머산이네욤 -,.

     

  • callbackURL 이랑 설정 url이랑은 다를수도 있고 같을수도 있습니다.

    설정 url이 어떤건지 알면 더 쉬운 답변이 되겠습니다.

     

    예를들어 설정에 주소를 아래와 같이 입력했습니다.

    http://domain.com/

    그러면

    http://domain.com/callback.html 또는 http://domain.com/sub/callback.html

    이런것들도 허용이 됩니다.

     

    http://domain.com

    이렇게 입력하셨으면

    http://domain.com/callback.html 또는 http://domain.com/sub/callback.html

    이런 페이지에서 요청을 하면 페이스북에서 거부 할 수 있습니다.

     

    그래서 캔버스앱 같은경우 필수로 마지막에 '/' 를 추가해야 합니다. 즉 파일이 아닌 디렉토리로 주소가 끝나도록 요구하고 있습니다.

    보안상 권한을 도메인과 디렉토리 레벨까지 체크하는 특성때문입니다.

     

    도메인의 모든 디렉토리에서 앱을 사용하는 구조라면, http://domain.com/ 이렇게 입력해주세요.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요