Я создал проект с использованием Python в Google App Engine. Я хочу использовать вход Google на своем веб-сайте.
Я пытался использовать вход Google для Интернета, и он работает хорошо, но я не знаю, как выполнять вызовы API с сервера, чтобы убедиться, что пользователь вошел в систему.
Я пытался использовать пользователей ==> user = users.get_current_user() Затем использовать идентификатор пользователя для вызовов API ==> "https://www.googleapis.com/plus/v1/people/"+ self.request.get('id') +"?fields=image&key=SOME_KEY"
Проблема в том, что идентификатор не тот, который я должен использовать. когда я сравниваю этот идентификатор и тот, который я получаю в javascript, они не совпадают. Кроме того, в веб-API они упомянули, что я не должен отправлять этот идентификатор на сервер напрямую (я не знаю причины). Итак, я хочу знать, как я могу получить правильный идентификатор в своем приложении Python.
// Не отправляйте это напрямую на ваш сервер!
<html lang="en">
<head>
<meta name="google-signin-scope" content="profile email">
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">
<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('Full Name: ' + profile.getName());
console.log('Given Name: ' + profile.getGivenName());
console.log('Family Name: ' + profile.getFamilyName());
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>