2016-01-14 4 views
1

Я после следующей ссылке, чтобы интегрировать логин Google в мое приложение ASP.NET: https://developers.google.com/identity/sign-in/web/Нет ответа от Google в знак

Вот фрагмент кода:

<html lang="en"> 
    <head> 
     <title></title> 
    <meta name="google-signin-scope" content="profile email"> 
    <meta name="google-signin-client_id" content="**REDACTED**"> 
    <script src="https://apis.google.com/js/platform.js" async defer></script> 
    </head> 
    <body> 
    <div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"></div> 
    <script> 
     function onSignIn(googleUser) { 
      // Useful data for your client-side scripts: 
      var profile = googleUser.getBasicProfile(); 
      console.log("ID: " + profile.getId()); // Don't send this directly to your server! 
      console.log("Name: " + profile.getName()); 
      console.log("Image URL: " + profile.getImageUrl()); 
      console.log("Email: " + profile.getEmail()); 

      // The ID token you need to pass to your backend: 
      var id_token = googleUser.getAuthResponse().id_token; 
      console.log("ID Token: " + id_token); 
     }; 
    </script> 
    </body> 
</html> 

Когда я нажимаю знак в кнопке, я получаю страницу разрешений. Но консольный журнал пуст, когда я нажимаю «Разрешить». Хотя, очевидно, из кода он должен заполнить имя журнала, идентификатор, адрес электронной почты. Что мне здесь не хватает? Пожалуйста, помогите

+0

У меня есть аналогичная проблема, за исключением того, что я создаю приложение PHP. Что интересно, я обнаружил, что на экране согласия он говорит: «Щелчок» «Разрешить» перенаправит вас на: storagerelay: // https/? Id = «_ –

ответ

0

Если обратный вызов onsuccess не попадает больше всего, как ваш сигнал не преуспевает. Проверьте, добавив обратный вызов onfailure.

<div class="g-signin2" data-onsuccess="onSignIn" data-onfailure="onFailure" data-theme="dark"></div> 
<script> 
    function onFailure() { console.error('Sign in has failed!'); } 
    function onSignIn(googleUser) { 
     // Useful data for your client-side scripts: 
     var profile = googleUser.getBasicProfile(); 
     console.log("ID: " + profile.getId()); // Don't send this directly to your server! 
     console.log("Name: " + profile.getName()); 
     console.log("Image URL: " + profile.getImageUrl()); 
     console.log("Email: " + profile.getEmail()); 

     // The ID token you need to pass to your backend: 
     var id_token = googleUser.getAuthResponse().id_token; 
     console.log("ID Token: " + id_token); 
    }; 
</script> 
+1

Я тоже это сделал. OnFailure также не попадает Я получаю запрос на страницу разрешений, и я нажимаю «Разрешить» и ничего. – user1377504

+0

Хотя мои приложения отображаются в «Приложениях, подключенных к вашей учетной записи». – user1377504