2011-10-20 2 views
0

나는 질문이 .... 나는 실제로 FB 자바 스크립트 SDK와 함께 페이스 북 응용 프로그램을 개발하고 있습니다. 신청서에 추가 처리를 위해 전자 메일 권한이 필요합니다. 나는 사용하고있다이메일에 대한 페이스 북 자바 스크립트 권한 대화 상자

FB.Connect.showPermissionDialog ("email"); 는 그러나 대화 상자가 나타납니다하지 않는 방법 일부는 ... 여기 내 코드입니다

<script> 
    appid = '*************'; 
    name = 'Palmchip Test App'; 
    href = 'https://apps.facebook.com/*********/'; 
    FB.init({ 
    appId:appid, cookie:true, 
    status:true, xfbml:true 
    }); 
    FB.getLoginStatus(function(response) { 
    if (response.session) { 
    alert("You are logged in..."); 
    FB.Connect.showPermissionDialog("email", function(perms) { 
      if (!perms) { 
      alert("no access"); 
      } else { 
       alert("accessed..."); 
      } 
     }); 
    } 
    else { 
    top.location.href='https://graph.facebook.com/oauth/authorize?client_id='+appid+'&redirect_uri='+href+'&display=page'; 
    } 
    }); 

</script> 

당신이에 ... 잘 작동 로그인 를 말합니다하지만 아무 일도 발생하지 경고 .....

답변

0
  1. 당신은 당신이 사용한다 OAuth는 2.0 ouath: true
  2. 를 업그레이드해야 새로운 OAuth Dialog
  3. FB.getLoginStatus()가 다른 개체가 반환 업그레이드 할 때 당신은 알고 있어야합니다 : 당신이 getin() 함수를 호출 할 때 response.authResponse
+0

나는 OAuth Dialog 링크를 시도했는데 거기에 언급 된 것과 똑같은 코드를 사용해도 여전히 응답이 없습니다. (n은 ** 직접 URL 예제를 사용한 후입니다 ** ** 나는 클릭 한 다음에 나는 큰 페이스 북 아이콘을 봅니다. 권한 대화 상자에서 허용 대화 상자로 이동합니다 – user958414

+0

제발 내 오류에 대답하십시오 http://stackoverflow.com/q/7833875/958414 – user958414

0

현재 사용자가 이미 당신이 그를 위해 아무것도 할 것입니다 이메일 주소를 준 경우 단지 리디렉션,

FB.init({appId: <?= APP_ID ?>, status: true, cookie: true, xfbml: true, oauth:true}); 

function getin(){ 
    FB.login(function(response) { 
     if (response.authResponse) { 
      var regurl = "/login"; 
      location.href=regurl; 

     } else { 
      var regurl = "/logout"; 
      window.location.href=regurl; 
     } 
    }, {scope:'email'}); 

} 

그래서이 코드 블록을 시도 그를 /로그인 url로 변경하지만 사용자가 새 사용자 인 경우 그래프 또는 fql을 사용하여 이메일 주소를 가져올 수있는 이메일 주소를 요청하는 팝업 상자가 표시됩니다. FBW 응답 내부 FB.login 사용자 아이디, access_toke 및 좀 더 유용한 데이터가 있으므로 나중에 사용하기 위해 저장하십시오.

관련 문제