Jump to content
Sign in to follow this  
wneo

Facebook Login Graph API

Recommended Posts

Boa tarde!!!

 

Estou implementando a api para login com facebook em uma aplicação web. Estou com dúvida de como fazer para resgatar as informações do usuário que acessou...

O código que estou usando:

// This is called with the results from from FB.getLoginStatus().
  function statusChangeCallback(response) {
    console.log('statusChangeCallback');
    console.log(response);
    // The response object is returned with a status field that lets the
    // app know the current login status of the person.
    // Full docs on the response object can be found in the documentation
    // for FB.getLoginStatus().
    if (response.status === 'connected') {
      // Logged into your app and Facebook.
      
    
      /*testAPI();*/
    } else if (response.status === 'not_authorized') {
      // The person is logged into Facebook, but not your app.
      document.getElementById('status').innerHTML = 'Please log ' +
        'into this app.';
    } else {
      // The person is not logged into Facebook, so we're not sure if
      // they are logged into this app or not.
      document.getElementById('status').innerHTML = 'Por favor, logue ' +
        'com o Facebook.';
    }
  }

  // This function is called when someone finishes with the Login
  // Button.  See the onlogin handler attached to it in the sample
  // code below.
  function checkLoginState() {
    FB.getLoginStatus(function(response) {
      statusChangeCallback(response);
    });
    }
    
    

  
   function logout() {
    FB.logout(function(response) {
       window.location.href="index.php";
    });
  }
  
    window.fbAsyncInit = function() {
  FB.init({
    appId      : '',
    cookie     : true,  // enable cookies to allow the server to access 
                        // the session
    xfbml      : true,  // parse social plugins on this page
    version    : 'v2.2' // use version 2.2
  });

  // Now that we've initialized the JavaScript SDK, we call 
  // FB.getLoginStatus().  This function gets the state of the
  // person visiting this page and can return one of three states to
  // the callback you provide.  They can be:
  //
  // 1. Logged into your app ('connected')
  // 2. Logged into Facebook, but not your app ('not_authorized')
  // 3. Not logged into Facebook and can't tell if they are logged into
  //    your app or not.
  //
  // These three cases are handled in the callback function.

  FB.getLoginStatus(function(response) {
    statusChangeCallback(response);
  });

  };

  // Load the SDK asynchronously
  (function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/pt_BR/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));

  // Here we run a very simple test of the Graph API after login is
  // successful.  See statusChangeCallback() for when this call is made.
  function testAPI() {
    console.log('Welcome!  Fetching your information.... ');
    FB.api('/me', function(response) {
      console.log('Successful login for: ' + response.name);
      document.getElementById('status').innerHTML =
        'Thanks for logging in, ' + response.name + '!';
    });
  }
<fb:login-button scope="public_profile,email,user_friends,user_likes" auth_type= "rerequest" onlogin="checkLoginState();"></fb:login-button>

Gostaria de saber como verficar os dados requisitados pelo acesso com o facebook login... Digamos que 10 usuários fizeram login em minha aplicação, como faço para ver os 10 separadamente pelo retorno Json que vem no Graph api explorer? Ou qual a melhor forma de fazer isso? Alguém sabe aí???

Share this post


Link to post
Share on other sites

Aí galera, só para complementar a minha dúvida.. preciso saber como resgatar as permissões de todos usuários.. preciso resgatar o token de cada usuário de alguma forma ou através do graph api explorer isso vai automático? Estou usando o javascript sdk, conforme o codigo que postei acima. Preciso adicionar mais alguma coisa nesse código?

Alguém já fez isso aí????

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By manolegal
      Boa tarde
      Gostaria de colocar o valor de um campo bootstrap/vue.js em uma variável php, porém não estou conseguindo. É a primeira vez que estou trabalhando com vue.
      O campo está trazendo o valor correto:
      <section class="scans"> <h2>Scans</h2> <ul v-if="scans.length === 0"> <li class="empty">No scans yet</li> </ul> <transition-group name="scans" tag="ul"> <li v-for="scan in scans" key="scan.date" title="scan.content">{{ scan.content }}</li> </transition-group> </section> var app = new Vue({ el: '#app', data: { scanner: null, activeCameraId: null, cameras: [], scans: [] }, mounted: function () { var self = this; self.scanner = new Instascan.Scanner({ video: document.getElementById('preview'), scanPeriod: 5 }); self.scanner.addListener('scan', function (content, image) { var element = document.getElementById('valor'); element.innerHTML = content self.scans.unshift({ date: +(Date.now()), content: content }); }); Instascan.Camera.getCameras().then(function (cameras) { self.cameras = cameras; if (cameras.length > 0) { self.activeCameraId = cameras[1].id; self.scanner.start(cameras[1]); } else { console.error('Nenhuma Câmera conectada. Verifique!'); } }).catch(function (e) { console.error(e); }); }, methods: { formatName: function (name) { return name || '(unknown)'; }, selectCamera: function (camera) { this.activeCameraId = camera.id; this.scanner.start(camera); } } }); Preciso pegar o valor escaneado constante no campo, para passar para próximo formulário. No aguardo.
    • By Porta
      Moderador... Pode apagar este topico?
       
       
    • By RogérioSilva
      Estou procurando alguma função que consiga criar vários registros no mysql partindo deste form:
      (O input CRIAR NOVO CAMPO, cria novos input com javascript, então posso criar vários campos e escrever o nome de várias escolas um embaixo da outra.)
       
      <form name="novo" method="post" enctype="multipart/form-data" action=""> <input type="text" value="Nome Escolas" name="nome" size="30"> <input class="approvebutton" type="submit" id="Send" name="escola" value="CADASTRAR"> <input class="approvebutton" type="submit" id="NEW" name="NEW" value="CRIAR NOVO CAMPO"> </form>  
      Mas minha dúvida é como ficaria a parte em PHP, para poder criar vários registros no banco de dados? Se eu criar 10 input e escrever o nome de 10 escolas, como ficaria? a parte em PHP está assim até o momento
       
      if($_POST['novo']){ $escola = $_POST["escola"]; $now = date('Y-m-d H:i:s', (time()+(60*60*3))); if ($escola==NULL){ echo "<script>location.href='erro.php'</script>"; } else{ $query = "INSERT INTO escolas (escola) VALUES ('$escola', '$now')"; $result = mysql_query($query) or die ("Erro ao Inserir"); echo "<script>location.href='adicionado.php'</script>"; } }  
      Eu já pesquisei e vi que é algo que tem que usar Array e implode no INSERT, mas na prática não consegui, alguém pode me ajudar?
    • By rogerblower
      Pessoal tenho a seguinte tabela
      id | id_etapa | id_evento | posicao | nome | pontos
      1  |  1             |        2         |   1           | joao      |  10
      2  |  1             |        2         |   2           | pedro    |  9
      3  |  1             |        2         |   3           | maria    |  8
      4  |  1             |       2          |   4           | jose       |  7
      5  |  2             |      2          |   3           | joao       |  8
      6  |  2             |  2              |   1           | pedro    | 10
      7  |  2             |   2             |  2            | maria    |  9
      8  |  2             |  2              |   4          | jose        |  7
       
      O resultado da consulta pretendido é este
      Pos  |  nome |   pontos
      1      |  pedro   | 19
      2      |   joao   | 18
      3      |  maria  |  17
      4      |  jose  |  14
       
      Com esta consulta não ordenando a coluna posicao como esperado, ela repete a posicao e não faz a soma, ex:
       1     joao     10
       1     pedro     10
      $pontuacaoa = $pdo->prepare("SELECT * FROM contador WHERE id_evento = '$id_evento' GROUP BY nome, posicao ORDER BY pontos DESC posicao ASC"); Com esta outra consulta a soma esta correta o agrupamento nome esta correto, não se repetem, mas a coluna posicao fica fora de ordem;
       
      $pontuacaoa = $pdo->prepare("SELECT * FROM contador WHERE id_evento = '$id_evento' GROUP BY nome ORDER BY pontos DESC posicao ASC"); Não estou conseguindo acertar a consulta, alguém me ajuda?
    • By Kelven
      Bom dia pessoal, estou tendo um problema com uma requisição que estou tentando fazer em javascript (tem que ser em javascript pq a página q faz a requisição é html) de um arquivo em php que está em um servidor php, porém aparece esse erro:
       
      "Access to XMLHttpRequest at 'http://nomedosite.com.br/teste/contador.php' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource."
       
      Pesquisei no google e até agora nada, como posso resolver o problema do CORS não permitir fazer requisições GET/POST no servidor??
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.