如何确定oauth2client凭据对象具有哪些权限?

时间:2019-01-08 22:34:16

标签: python python-2.7 oauth2client

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

是否可以找出我的oath2client对象可以访问哪些权限?如果没有其他要求,那么能够产生一条错误消息,说“您没有删除权限”或其他类似的东西,将是很好的。

此外,由于我所拥有的只是一个client_id和令牌,因此我什至不确定我要使用哪个帐户(我们出于不同的目的使用不同的帐户)

1 个答案:

答案 0 :(得分:0)

对于Google OAuth 2.0令牌,您可以调用Google端点,该端点将返回有关令牌(JWT)的详细信息。

这里是使用curl的示例。替换ACCESS_TOKEN将是一个真正的。

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"
}

然后,您可以使用Python requests或其他库轻松地将此curl示例映射到Python代码。

注意issued_to键。这是分配给每个Google帐户的Unique ID。这会将电子邮件地址映射到唯一的ID。单击IAM中的服务帐户电子邮件地址,即可在Google Cloud Console中找到唯一ID。 (您没有提到GCP,只是为了以防万一,请使用它。)

相关问题