#google-docs-api
Вопрос:
Мы последовали шагам, упомянутым в соответствии с https://developers.google.com/identity/sign-in/web/server-side-flow. Но при попытке получить информацию о дате рождения, используя «область действия»: «https://www.googleapis.com/auth/user.birthday.read, мы получаем полезную нагрузку, как показано ниже:
payload{«at_hash»:»-mvIlEROpJsQSF9rQpRDfA»,»aud»:»<CLIENT_ID>»,»azp»:»»<CLIENT_ID><CLIENT_ID>»»,»email»:»sample@gmail.com»,»email_verified»:true,»exp»:1628092721,»iat»:1628089121,»iss»:»https://accounts.google.com»,»sub»:»108685651390298470023″,»name»:»mnbvc plm»,»picture»:»https://lh3.googleusercontent.com/a/AATXAJwejAC1r2SasgNdtqpd6f5q_Ih2-vDiTxELWDhg=s96-c»,»given_name»:»mnbvc»,»family_name»:»plm»,»locale»:»en-GB»}
Пожалуйста, найдите ниже index.html файл, который мы используем:
<!DOCTYPE html>
<html>
<head>
<meta name="google-signin-client_id" content="<CLIENT_ID>">
<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=renderButton" async defer>
</script>
<script>
function myFunction() {
auth2.grantOfflineAccess().then(signInCallback);
}
</script>
</head>
<body>
<button onclick="myFunction()" id="signinButton">Sign in with Google</button>
<script>
function renderButton() {
gapi.signin2.render('signinButton', {
'scope': 'https://www.googleapis.com/auth/user.birthday.read',
'width': 240,
'height': 50,
'longtitle': true,
'theme': 'dark',
'onsuccess': start
});
}
function start() {
gapi.load('auth2', function() {
auth2 = gapi.auth2.getAuthInstance({
client_id: '<CLIENT_ID>',
scope: 'https://www.googleapis.com/auth/user.birthday.read',
access_type: 'offline'
});
});
}
function signInCallback(authResult) {
if (authResult['code']) {
var 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: '/gplus.form?authcode=' authcode,
// Always include an `X-Requested-With` header in every AJAX request,
// to protect against CSRF attacks.
headers: {
'X-Requested-With': 'XMLHttpRequest'
},
contentType: 'application/octet-stream; charset=utf-8',
success: function(result) {
// Handle or verify the server response.
},
processData: false,
data: authResult['code']
});
} else {
// There was an error.
}
}
</script>
</body>
</html>
Какие еще изменения требуются на стороне JAVA, чтобы получить информацию о дне рождения?
Комментарии:
1. предложение: вы можете добавить ограждения кода, чтобы отформатировать код полезной нагрузки и сделать его более читаемым.