连接到与登录 google colab 不同的 google 驱动器

Phi*_*ire 4 python google-drive-api google-colaboratory

最近,colab 删除了从您在 google 云端硬盘中登录的帐户以外的其他帐户连接到 google 云端硬盘的功能。有人发布了一个使用以下代码的解决方法,效果很好,直到现在......

!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
%cd /content
!mkdir gdrive
%cd gdrive
!mkdir "My Drive"
%cd ..
%cd ..
!google-drive-ocamlfuse "/content/gdrive/My Drive"
Run Code Online (Sandbox Code Playgroud)

auth.authenticate_user()行现在给出一个弹出窗口,类似于最近更新的正常身份验证过程,给出此弹出窗口谷歌授权弹出窗口 在此输入图像描述我完成该过程并登录到我的其他帐户,然后收到此消息。有什么解决方法吗?

这很重要的原因是,我的 edu 帐户上有免费的无限存储空间,但由于我的大学系统的安全限制,我无法让我的 edu 帐户使用付费版本的 Colab,因此我在个人上使用付费 Colab帐户并将我的数据存储在 edu 帐户上

Phi*_*ire 11

编辑:在一个单元格中完成所有操作,而不打印不需要的信息 edit2 2022 年 4 月 28 日:更改!sudo apt install google-drive-ocamlfuse >/dev/null 2>&1为新行,因为sudo apt updatecolab 失败并阻止其运行安装行。

!sudo echo -ne '\n' | sudo add-apt-repository ppa:alessandro-strada/ppa >/dev/null 2>&1 # note: >/dev/null 2>&1 is used to supress printing
!sudo apt update >/dev/null 2>&1
!sudo apt install google-drive-ocamlfuse >/dev/null 2>&1
!google-drive-ocamlfuse
!sudo apt-get install w3m >/dev/null 2>&1 # to act as web browser 
!xdg-settings set default-web-browser w3m.desktop >/dev/null 2>&1 # to set default browser 
%cd /content
!mkdir gdrive
%cd gdrive
!mkdir "My Drive"
!google-drive-ocamlfuse "/content/gdrive/My Drive"
Run Code Online (Sandbox Code Playgroud)

然后只需单击链接Failure("Error opening URL:https://accounts.google.com/o/oauth2/auth?client_id=56492...并授权您的帐户


我找到了一种解决方案,我不确定它在连接到 grive 等方面有多快,但至少可以安装。我想通了这一点,感谢link1link2 首先运行这个,你会被提示(单击框中),然后单击 Enter

!sudo add-apt-repository ppa:alessandro-strada/ppa
!sudo apt update
!sudo apt install google-drive-ocamlfuse
!google-drive-ocamlfuse
Run Code Online (Sandbox Code Playgroud)

您将看到如下图所示的输出,只需单击链接并授权您的帐户即可。

接下来,由于某种原因,即使您已经授权了您的帐户,您也需要安装浏览器,因此请运行此命令

!sudo apt-get install w3m # to act as web browser 
!xdg-settings set default-web-browser w3m.desktop # to set default browser 
Run Code Online (Sandbox Code Playgroud)

最后安装它

%cd /content
!mkdir gdrive
%cd gdrive
!mkdir "My Drive"
!google-drive-ocamlfuse "/content/gdrive/My Drive"
Run Code Online (Sandbox Code Playgroud)

你应该看到 在此输入图像描述