如何找出oauth2client凭据对象具有哪些权限?

2024-10-01 07:36:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python(2.7)程序,它使用oath2client访问googledocs。我可以创建文件和编辑文件,但不能删除它们。我假设这是因为权限问题

有没有办法找出我的oath2client对象可以访问哪些权限?如果没有其他问题,最好能够生成一条错误消息,说“您没有删除权限”或其他什么

另外,由于我只有一个客户机id和令牌,我甚至不知道我要使用哪个帐户(我们使用不同的帐户有不同的用途)


Tags: 文件对象程序id消息权限编辑客户机
1条回答
网友
1楼 · 发布于 2024-10-01 07:36:48

对于googleoauth2.0令牌,您可以调用Google端点,该端点将返回令牌的详细信息(JWT)

下面是一个使用curl的示例。替换访问令牌将是一个真正的令牌

curl "https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ACCESS_TOKEN

输出将如下所示。您的权限位于scope

{
  "issued_to": "123456789012345678901",
  "audience": "123456789012345678901,
  "scope": "https://www.googleapis.com/auth/cloud-platform",
  "expires_in": 2826,
  "access_type": "offline"
}

然后可以使用Pythonrequests或其他库将这个curl示例非常轻松地映射到Python代码中

注意issued_to键。这是分配给每个Google帐户的Unique ID。这会将电子邮件地址映射到唯一ID。当您在IAM中单击服务帐户电子邮件地址时,您将在Google云控制台中找到唯一ID(你没有提到GCP,只是以防万一你正在使用它)

相关问题 更多 >