http: /website.sample/folder/callback.php 500 (Внутренняя ошибка сервера) после входа в API библиотеки Gmail. - PullRequest
0 голосов
/ 10 июля 2019

Я запутался в получении этой ошибки после входа в систему с использованием JavaScript Gmail API. после того, как я следовал шаг за шагом, создавая идентификатор OAuth в console.developer настроить URI, настроить идентификатор клиента, даже если я следовал шаг за шагом https://developers.google.com/identity/sign-in/web/sign-in - и другие учебники

http://usefulangle.com/post/55/google-login-javascript-api

моя цель - получить от сервера Gmail информацию о пользователе, которого я отправляю на сервер, чтобы вставить. token_id пользователя, использующего ajax jquery, но. Я не могу устранить эту ошибку, но если я утешаю логин базовую информацию о пользователе, я получаю ее. используя

function onSignIn(googleUser) {
  var profile = googleUser.getBasicProfile();
  console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
  console.log('Name: ' + profile.getName());
  console.log('Image URL: ' + profile.getImageUrl());
  console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
}
-




Большое спасибо за помощь, очень признателен

событие, за которым я следовал по какой-то ссылке, я запутался, получая эту ошибку https://developers.google.com/identity/sign-in/web/sign-in

http://usefulangle.com/post/55/google-login-javascript-api

мои образцы кодов

<!DOCTYPE html>
<html lang="en" itemscope itemtype="http://schema.org/Article">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <meta name="google-signin-client_id" content="'MY_CLIENT_ID">
  <link rel="stylesheet" href="assets/css/bootstrap.min.css">

</head>
<body>
  <button id="signinButton">Sign in with Google</button>
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
  </script>
  <script src="https://apis.google.com/js/client:platform.js?onload=start" async defer>
  </script>
  <script>
   function start() {
    gapi.load('auth2', function() {
      auth2 = gapi.auth2.init({
        client_id: 'MY_CLIENT_ID',
          // Scopes to request in addition to 'profile' and 'email'
          //scope: 'additional_scope'
        });
    });
  }

  $('#signinButton').click(function() {
    // signInCallback defined in step 6.
    auth2.grantOfflineAccess().then(signInCallback);
  });

  function signInCallback(authResult) {
    if (authResult['code']) {
      let authCode = authResult['code'];
    // Hide the sign-in button now that the user is authorized, for example:
    $('#signinButton').attr('style', 'display: none');

    // Send the code to the server
    $.ajax({
      type: 'POST',
      url: 'callback.php',
      headers: {
        'X-Requested-With': 'XMLHttpRequest'
      },
      contentType: 'application/octet-stream; charset=utf-8',
      success: function(result) {
        console.log(result);

      },
      processData: false,
      data: authCode
    });
  } else {
    console.log('error occured')
    // There was an error.
  }
}
</script>    
</body>
</html>

обратите внимание, что если я запущу это на своем локальном хосте и вставлю в базу данных. Я не получаю сообщение об ошибке

http://wesample.sample/google_api/callback.php 500 (внутренняя ошибка сервера)

...