如何在谷歌合作中获取当前帐户名称



例如,如果我当前的 Colab 实例以 身份登录

myColab@gmail.com

是否可以在ipython中获得名称"myColab"?

执行此操作的命令是什么?

我想这样做,因为我可能会运行两个 Colab,它们会生成文件,我想用 Colab 帐户名称标记这些文件,这样我知道哪个帐户生成这些文件。

默认情况下,不会为任何特定用户对后端进行身份验证。但是,如果您已完成gcloud auth流程,则可以像这样检索电子邮件地址:

https://colab.research.google.com/drive/1VVWs_pcjjz2vg0H2Ti6-12FzcCojRF6a

关键片段是:

import requests
gcloud_token = !gcloud auth print-access-token
gcloud_tokeninfo = requests.get('https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=' + gcloud_token[0]).json()
print(gcloud_tokeninfo['email'])

或者只是运行以下内容:

!gcloud config get-value account

我试图通过GDrive身份验证让当前用户登录。我不希望推送另一个身份验证,只是为了记录名称。我相信OP也在尝试同样的事情。

我的理论是,使用谷歌云端硬盘登录,创建一个文件,然后读取文件的创建者。这不能按预期运行,它只返回 root:root。但它可能会激发一个想法,如何在比我更了解 python 和 colab 的人身上做到这一点。

如果您在目录MyDrive中创建文件,GDrive 可以看到该文件,并显示所有者Me,将鼠标悬停在我上方会显示电子邮件帐户。GDrive知道是谁做的。我只是无法弄清楚如何使 colab 输出成为真正的文件所有者,即使对于MyDrive中已经存在的文件也是如此。我认为这与坐骑具有象征意义有关,但是..必须有办法。

法典

print("test", file=open("owner.txt", "a"))
from pathlib import Path
path = Path("owner.txt")
owner = path.owner()
group = path.group()
print(f"{path.name} is owned by {owner}:{group}")

输出

owner.txt is owned by root:root

最新更新