我有一个使用oath2client访问googledocs的python(2.7)程序。我可以创建文件和编辑文件,但不能删除它们。我认为这是由于权限问题造成的。
是否可以找出我的oath2client对象可以访问哪些权限?如果没有其他要求,那么能够产生一条错误消息,说“您没有删除权限”或其他类似的东西,将是很好的。
此外,由于我所拥有的只是一个client_id和令牌,因此我什至不确定我要使用哪个帐户(我们出于不同的目的使用不同的帐户)
答案 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,只是为了以防万一,请使用它。)