在本教程中,我将向您展示如何编译和使用gDrive。gDrive是一个与Google Drive交互的命令行工具。
gDrive是一款方便的工具,可以通过命令行将文件上传到Google Drive。
本指南将展示如何使用Google凭证为Raspberry Pi编译gDrive软件。
本指南专注于Raspberry Pi,但也可以按照同样的步骤为大多数操作系统编译gDrive。
使用自己的谷歌凭证,不太可能遇到类似 “此应用暂时禁用谷歌登录 “的错误。
设置Go编译器
在设备上编译gDrive软件之前,必须先安装Go编译器。
如果是在Windows或macOS设备上做这件事,可以从Golang网站上抓取相关的安装包。
1. 但是,如果是在基于Linux的系统(如Raspbian)上做这个教程,步骤就会更多一些。
在Linux系统的终端上,运行以下命令之一。这些命令根据您使用的架构不同而不同。
Linux ARMv6 (将此用于树莓派)
wget https://dl.google.com/go/go1.13.7.linux-armv6l.tar.gz -O go.tar.gz
Linux 64位
wget https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz -O go.tar.gz
2. Go二进制文件下载完毕后,现在需要将其解压到/usr/local/目录下。
在设备上运行以下命令。
sudo tar -C /usr/local -xzf go.tar.gz
3. 下一步就是让终端与Go进行交互。
可以通过修改bash别名文件来实现。这个文件会被Bash自动执行,并加载新路径。
nano ~/.bashrc
4. 在本文件底部增加以下两行:
这两行直接从命令行运行编译器,而不必引用其路径。
export GOPATH=$HOME/go
export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin
5. 现在按CTRL + X,然后按Y,再按ENTER键保存文件。
6. 要在不重新启动的情况下加载对bashrc文件的修改,请运行以下命令。
source ~/.bashrc
检索 Google Drive API 凭证
继续编译gDrive软件之前,需要检索Google Drive API Credentials。
1. 首先进入谷歌开发者控制台中的 “创建项目页面”。
在这个页面,需要为你的项目输入一个名字(1.)。在例子中,我使用 “gDrive-pimylifeup “这个名字。
2. 接下来,需要为新项目启用Google Drive API。
可以进入Google Cloud控制台内的Google Drive API页面来实现。
在这个页面上,点击ENABLE按钮。
3. 在进入的下一个页面,点击侧栏中的 “全权证书 “选项(1.)。
接下来,需要点击 “CONFIGURE CONSENT SCREEN “按钮(2。
4. 现在会要求选择 “用户类型”。除非是组织的形式,否则你将需要使用 “External “选项(1.)。
选定后,点击 “创建 “按钮,开始创建应用程序(2.
5. 在这一页,需要申请输入一个名字(1.
在我的例子中,使用应用程序名称 “gDrive Pi My Life Up”。
为应用程序输入了一个名字后,就可以按 “保存”(2.)按钮来保存文件。
6. 接下来,需要回到 “证书 “页面。
7. 在此屏幕上,点击 “创建凭证 “按钮(1.)。
在弹出的窗口中,点击 “OAuth客户端ID “按钮(2.
8. 现在需要选择应用类型。由于没有一个选项符合使用API的目的,我选择了 “其他”。(1.)
然后需要为这个应用程序输入一个名字(2. 在这个例子中,我只用了 “gDrive Pi My Life Up “这个名字。
输入所有数据后,点击 “创建 “按钮(3)。
9. 现在有了客户ID和客户秘密。
将这两个值复制下来,因为在本教程中稍后会需要它们。
使用的 API 認證編譯 gDrive
要编译gDrive,需要通过使用git来获取它的源代码。
在这之前,应该先将git安装到设备上。
可以从 Git 官方网站下载软件,或者按照以下步骤下载基于 Debian 的系统,比如 Ubuntu 和 Raspbian。
1. 在安装git之前,需要先运行下面的命令来更新包列表。
sudo apt update
2. 现在,需要做的就是运行以下命令。
sudo apt install git
3. 在设备上安装git后,运行以下命令克隆gdrive代码。
git clone https://github.com/gdrive-org/gdrive
4. 接下来的工作是替换代码中定义的客户秘密和客户ID。
开始这个过程,先换到克隆的目录中,用nano修改 “handlers_meta.go “文件。
cd gdrive
nano handlers_drive.go
5. 在该文件中,找到以下几行并将其替换为所需数据:
寻找
const ClientId = "367116221053-7n0vf5akeru7on6o2fjinrecpdoe99eg.apps.googleusercontent.com"
用自己的客户ID替换
const ClientId = "YOURCLIENTID"
寻找
const ClientSecret = "1qsNodXNaWq1mQuBjUjmvhoO"
替换成自己的客户密钥
const ClientSecret = "YOURCLIENTSECRET"
6. 修改后,按CTRL + X,然后按Y,再按ENTER键保存文件。
7. 现在需要运行下面的命令,以便Go编译器检索我们需要的所有附加包,以编译修改后的gDrive版本。
go get github.com/prasmussen/gdrive
8. 现在,可以通过运行以下命令将gDrive编译到设备上。
go build -ldflags '-w -s'
接下来的几个步骤将使该文件可以在命令行中使用。
9. 为了能够在命令行中使用gdrive访问二进制文件,需要将文件移到/usr/local/bin/。
运行以下命令移动可执行文件。
sudo mv gdrive /usr/local/bin/gdrive
10. 最后,给gdrive的可执行权限。
sudo chmod a+x /usr/local/bin/gdrive
在设备上测试gDrive
1. 现在开始测试gDrive,将谷歌账户连接到应用程序。
需要在使用 “list “参数的同时使用gdrive命令。
gdrive list
2. 用list命令运行gDrive后,会被告知需要认证才能继续。
信息下面应该是一个URL。需要在网页浏览器中进入这个URL,并使用谷歌账户登录。
按照网页浏览器中接下来的几个提示,直到得到一个验证码。将此验证码复制到终端,然后按ENTER键。
3. 如果显示文件列表,则说明已经成功在设备上设置了gDrive。
这个命令还可以显示每个文件夹的ID,如果想同步一个特定的文件夹,将需要这里提到的ID。
4. 如果想尝试同步一个文件夹,那么可以使用以下命令。
将<DIRECTORY>替换希望文件同步到的路径。
还需要将<GOOGLEFOLDERID>替换为使用grdive list命令检索到的文件夹的id。
./gdrive sync upload <DIRECTORY> <GOOGLEFOLDERID>
希望到这里,你现在应该已经在你的设备上运行了gDrive。
如果在本教程中遇到任何问题,欢迎在下面留言。
欢迎转载,请留下出处链接:Labno3 » 树莓派如何使用Google Drive,Raspberry Pi编译和运行gDrive