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

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

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

auth.authenticate_user() 行现在提供一个类似于最近更新的正常身份验证过程的弹出窗口,提供此弹出窗口 我完成了整个过程并登录到我的其他帐户,然后我收到了这条消息。有什么解决方法吗?

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

最佳答案

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

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

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


我找到了一个解决方案,我不确定它在连接到 grive 等方面的速度有多快,但它至少可以安装。感谢link1,我想出了这个, link2 首先运行它,系统会提示您(在框中单击)然后单击输入

!sudo add-apt-repository ppa:alessandro-strada/ppa
!sudo apt update
!sudo apt install google-drive-ocamlfuse
!google-drive-ocamlfuse

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

下一步由于某些原因你需要安装一个浏览器,即使你已经授权了你的帐户,所以运行这个

!sudo apt-get install w3m # to act as web browser 
!xdg-settings set default-web-browser w3m.desktop # to set default browser 

最后挂载

%cd /content
!mkdir gdrive
%cd gdrive
!mkdir "My Drive"
!google-drive-ocamlfuse "/content/gdrive/My Drive"

你应该看看

https://stackoverflow.com/questions/71695387/

相关文章:

c# - c#中的整数提升(以sbyte的范围为例)

reactjs - 在函数或类中使用 `useDispatch` 可以吗?

google-forms - 您可以向 google forms api 提交 Restful 请求

r - 创建一个虚拟变量,指示事件是否在过去 2 年发生

python - 等于运算符与元组 : 'a' , 'b' == ('a' , 'b' )

r - 如果列的值与另一列的值匹配,如何返回列的名称?

javascript - 根据条件在嵌套的 JS 数组中插入新的 JSON 对象

linux - bash 将奇数日期格式转换为 linux 日期识别的更有效方法

c# - C# 中的 StringBuilder 与 Span

ethereum - 扁平化智能联系人是否会降低部署成本?