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