Google登录python Google应用程序引擎
我在GoogleAppEngine中使用python创建了一个项目。我想在我的网站上使用谷歌登录 我尝试使用GoogleSign-In for web,效果很好,但我不知道如何从服务器调用API来确保用户已登录 我尝试使用users==>user=users.get\u current\u user() 然后使用用户id进行API调用==> “+self.request.get('id')+”?fields=image&key=SOME\u key” 问题是这个id不是我应该使用的。当我比较这个id和我在javascrip中得到的id时,它们是不一样的。另外,在WebAPI中,他们提到我不应该直接将该id发送到服务器(我不知道原因)。因此,我想知道如何在python应用程序中获得正确的id //不要直接将其发送到服务器强>Google登录python Google应用程序引擎,python,google-app-engine,google-signin,googlesigninapi,googlesigninaccount,Python,Google App Engine,Google Signin,Googlesigninapi,Googlesigninaccount,我在GoogleAppEngine中使用python创建了一个项目。我想在我的网站上使用谷歌登录 我尝试使用GoogleSign-In for web,效果很好,但我不知道如何从服务器调用API来确保用户已登录 我尝试使用users==>user=users.get\u current\u user() 然后使用用户id进行API调用==> “+self.request.get('id')+”?fields=image&key=SOME\u key” 问题是这个id不是我应该使用的。当我比较这个
<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>
函数onSignIn(谷歌用户){
//客户端脚本的有用数据:
var profile=googleUser.getBasicProfile();
console.log(“ID:+profile.getId());//不要直接将其发送到服务器!
log('Full Name:'+profile.getName());
log('给定名称:'+profile.getGivenName());
console.log('Family Name:'+profile.getFamilyName());
log(“图像URL:+profile.getImageUrl());
log(“Email:+profile.getEmail());
//需要传递到后端的ID令牌:
var id_token=googleUser.getAuthResponse().id_token;
日志(“ID令牌:+ID_令牌”);
};
在google API中深入搜索后,我发现他们引入了一种发送id令牌的方法。
更多信息可在此处找到:
在google API中深入搜索后,我发现他们引入了一种发送id令牌的方法。 更多信息可在此处找到:
您不能使用用户id进行API调用。当您根据API对google服务器进行API调用时,您必须传递不同的参数。例如,如果您想列出gmail中可用的标签,您将使用gmail API,并且必须在get请求中传递labelid、userid。下面是上述示例的文档。
您可以使用谷歌提供的这个API框来使用这个API。如本例所示,所有谷歌产品都有不同的API用于不同的功能,您必须根据他们提供的文档传递不同的参数。您不能使用用户id进行API调用。当您根据API对谷歌服务器进行API调用时,您必须传递不同的参数。对于例如,如果您想列出gmail中可用的标签,您将使用gmail API,并且必须在get请求中传递labelid和userid。下面是上述示例的文档。
您可以使用谷歌提供的这个API框来使用这个API。像这个例子一样,所有的google产品都有不同的API用于不同的功能,你必须根据他们提供的文档传递不同的参数。后端的文档是否有auth帮助。。。有一个使用Python库解码ID令牌的示例。纯文本ID不安全,可能被伪造,因此您不能将其用于后端身份验证,您需要发送并验证ID令牌并从中提取值。后端身份验证上的文档是否有帮助。。。有一个使用Python库解码ID令牌的示例。明文ID是不安全的,可以伪造,因此您不能将其用于后端身份验证,您需要发送并验证ID令牌并从中提取值。我必须将身份验证令牌传递到后端才能使用我需要的API。我必须将身份验证令牌传递到后端才能使用我需要的API。