Дисковое пространство Google Cloud Disk относительно велико, и его удобнее монтировать локально в качестве временного хранилища или для кэширования.В этой статье используется Rclone для монтирования на сервере Linux.
Rclone имеет встроенный API для доступа к Google Диску , но если им будет пользоваться слишком много людей, ограничение скорости может привести к недоступности, поэтому подумайте о том, чтобы подать заявку на собственный API.
Оглавление
1 Подать заявку на Google Drive API
2 смонтировать гугл диск на сервер
3.1 Доступ запрещен при авторизации
3.2 Неустранимая ошибка: не удалось получить токен: сообщение "https://oauth2.googleapis.com/token"
1 Подать заявку на Google Drive API
Сначала зайдите в облачную консоль Google и создайте проект.
![создать новый проект](https://img-blog.csdnimg.cn/167346a7f81745acad8f94ab4eae3be9.png)
![](https://img-blog.csdnimg.cn/49293377a80f45b7a63a985e16e0867d.png)
После завершения создания выберите проект и войдите в интерфейс настройки API.
![](https://img-blog.csdnimg.cn/ea27ca2e86b34597ac1165600ecbeaf7.png)
Нажмите «Включить API и службы».
![](https://img-blog.csdnimg.cn/bd6997c5e04d4a44879e4a9f4dd5acdc.png)
Затем мы ищем «google drive» в библиотеке API или выбираем Google drive в библиотеках, перечисленных ниже.
![](https://img-blog.csdnimg.cn/12199eb7e46949d2b5fafa7e14559cb7.png)
После включения API веб-страница автоматически перейдет к консоли Google Cloud API. В это время мы поочередно нажимаем «Учетные данные» - «СОЗДАТЬ УЧЕТНЫЕ ДАННЫЕ» - «Идентификатор клиента OAuth».
![](https://img-blog.csdnimg.cn/d69594bb45fc4513bc2f855d38a8fc0a.png)
Согласно подсказке, для настройки идентификатора OAuth сначала необходимо настроить экран согласия.
При настройке экрана согласия выбираем «внешний», иначе этот API можно использовать только внутри одной организации.
![](https://img-blog.csdnimg.cn/f84ff05f989948a69404cd8f2b1b73f7.png)
Затем заполните форму, отмеченную звездочкой. Здесь может быть ошибка "Ошибка сохранения приложения", скорее всего из-за конфликтов имен приложений, можно попробовать использовать необычное имя приложения.
![](https://img-blog.csdnimg.cn/b443f9b5dca34423a55c6aaee44a1f62.png)
В интерфейсе настройки «Диапазон» нам не нужно вносить никаких изменений.
В интерфейсе «Тестовый пользователь» мы можем добавить нашу учетную запись Google к тестовому пользователю.
Созданное нами приложение имеет два состояния "тест" и "выпуск". В состоянии выпуска все могут получить доступ к приложению, а в состоянии тестирования только тестовые пользователи могут получить доступ к приложению. В будущем мы можем свободно выбирать, следует ли опубликовать приложение.
![](https://img-blog.csdnimg.cn/8d71c1f36b4c4d35b0c640cd7bbb4ba6.png)
Теперь, когда у нас настроен экран согласия, перейдите к настройке идентификатора OAuth.
![](https://img-blog.csdnimg.cn/98a0a29706c54ad1a40416f85d31ef6c.png)
Запишите идентификатор и пароль или загрузите файл json напрямую, который содержит идентификатор и секрет.
![](https://img-blog.csdnimg.cn/4d8d03f599354149814120da4ad7a1f1.png)
До сих пор мы подали заявку на API Google Диска, включая идентификатор и ключ.
2 смонтировать гугл диск на сервер
Во-первых, вам нужно установить Rclone на сервер.Проверьте способ установки вашей системы в официальной документации rclone.В следующем примере используется ubuntu20. Введите в командной строке последовательно следующие команды:
apt update
apt install curl
apt install fuse
curl https://rclone.org/install.sh | sudo bash
После успешной установки введите rclone config в командной строке и введите «n», чтобы создать новый облачный диск, а затем дайте ему имя.
![](https://img-blog.csdnimg.cn/527e14910f9d47cb898d82f1be8ba8b5.png)
Найдите диск Google и введите перед ним серийный номер 18. Обратите внимание, что по мере изменения версии rclone серийный номер диска Google может измениться, пожалуйста, подтвердите серийный номер самостоятельно.
![](https://img-blog.csdnimg.cn/ca1d917b0e474556ac2c423ad5031ae1.png)
После выбора Google Диска мы вводим идентификатор API и секрет, который мы только что получили.
![](https://img-blog.csdnimg.cn/d45007d03aaf421e848b7de9219c82bf.png)
Затем дайте программе полные права
![](https://img-blog.csdnimg.cn/ab7ef00a336142b2b6f1971b7801f52e.png)
Далее, service_account_file можно оставить пустым, выберите No для расширенной настройки и автоматической настройки
![](https://img-blog.csdnimg.cn/93f1474988e34f079677a95f8dd7eb90.png)
Затем нам нужно аутентифицировать приложение в Интернете. Но поскольку на сервере нет браузера, мы можем только загрузить версию rclone для Windows, запустить команду, заданную программой в Windows, и открыть веб-страницу для аутентификации.
Сначала мы загружаем версию rclone для Windows со страницы загрузки rclone , разархивируем программу по любому пути, а затем нажимаем win+R для запуска cmd.
![](https://img-blog.csdnimg.cn/ce14b68c7020409f880cd7c91a959050.png)
После ввода cmd используйте команду cd, чтобы войти в каталог, в котором находится программа rclone, и введите команду, указанную в системе linux.
![](https://img-blog.csdnimg.cn/9e743564e4a44b349a50c89aeee00a14.png)
![](https://img-blog.csdnimg.cn/3b162ce568b74c0797ed1d7ee2724783.png)
После выполнения команды в браузере автоматически откроется интерфейс входа в учетную запись Google, и вы войдете в свою учетную запись Google. Поскольку наше приложение не было официально сертифицировано Google, могут появиться следующие подсказки, что нормально, просто зайдите в свое приложение.
![](https://img-blog.csdnimg.cn/38e22efcc9e643ccb90bef54f606049b.png)
Далее авторизуйте приложение
![](https://img-blog.csdnimg.cn/b485429dcd164f2d80fdb4370cf01bbf.png)
Если авторизация прошла успешно, на веб-странице должно появиться сообщение Success.
![](https://img-blog.csdnimg.cn/e1ec4da2e44243acaa588095fe365684.png)
Далее скопируйте полученный токен и вставьте его в config_token на стороне сервера.
![](https://img-blog.csdnimg.cn/de41298cf0ea4d9faba9f6466a2f3e65.png)
Здесь мы хотим смонтировать командный диск, поэтому выбираем y. Если вы хотите смонтировать свой личный диск, заполните n.
![](https://img-blog.csdnimg.cn/597768465bdd4bc38abca8cb576ccd60.png)
Далее программа выведет список всех командных дисков под вашей учетной записью, просто выберите тот, который хотите смонтировать.
![](https://img-blog.csdnimg.cn/5ce6fdc8a4d04e30a26dc5ad24762e10.png)
Далее подтвердите информацию:
![](https://img-blog.csdnimg.cn/d33df58eb8e44b2888e43ac4d8d9a30d.png)
На данный момент мы видим, что облачный диск с именем «googledisk» создан, просто нажмите «q», чтобы выйти из программы.
![](https://img-blog.csdnimg.cn/b4bf8e9fe6fd41ffabe8fcfd19f5372e.png)
Далее нам нужно смонтировать только что созданный облачный диск в систему.
Команда для монтирования сетевого диска:
rclone mount 网盘名:网盘下的目录 即将挂载到的目录 --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
Имя сетевого диска: имя сетевого диска, который мы только что создали в rclone, то есть googledisk.
Каталог на сетевом диске: каталог на сетевом диске Google
Каталог для монтирования: путь в серверной системе
Беру себя в пример:
После выполнения команды, если нет других ошибок, программа зависнет здесь. Мы не хотим завершать команду, а напрямую отключаем терминал, позволяем ему продолжать работать и открываем новый терминал для последующих операций.
Используйте команду df -h для проверки состояния системного диска, и вы увидите, что облачный диск был успешно смонтирован.
![](https://img-blog.csdnimg.cn/da0dd8db84614db0a22fbb113824c85c.png)
Теперь мы можем нормально обращаться к файлам на сетевом диске!
![](https://img-blog.csdnimg.cn/08ecaac64bbf424caef261d5b827b962.png)
Выше описан метод подключения облачного диска Google, и методы подключения других облачных дисков аналогичны.
3 возможные проблемы
3.1 Доступ запрещен при авторизации
Это может быть вызвано тем, что учетная запись не имеет прав доступа к приложению.Вы можете проверить, опубликовано ли приложение. Если приложение находится в тестовом состоянии, вы можете добавить свою учетную запись к тестовому пользователю.
3.2 Неустранимая ошибка: не удалось получить токен: сообщение "https://oauth2.googleapis.com/token"
Конкретная ошибка показана на рисунке Хотя программа показывает Success на веб-странице, rclone не может получить токен.
![](https://img-blog.csdnimg.cn/d95b7864062147fba9e2d17f18fadae2.png)
报错:Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, потому что подключенный хост не ответил.
Если возникает такая ошибка, это доказывает, что cmd не подключен к сети Google.В это время в cmd должен быть установлен соответствующий прокси. Для получения дополнительной информации см.: Настройка прокси-сервера терминала командной строки cmd системы Windows .