Подайте заявку на Google Drive API и используйте rclone для монтирования командного диска как локального диска.

Дисковое пространство Google Cloud Disk относительно велико, и его удобнее монтировать локально в качестве временного хранилища или для кэширования.В этой статье используется Rclone для монтирования на сервере Linux.

Rclone имеет встроенный API для доступа к Google Диску , но если им будет пользоваться слишком много людей, ограничение скорости может привести к недоступности, поэтому подумайте о том, чтобы подать заявку на собственный API.

Оглавление

1 Подать заявку на Google Drive API

2 смонтировать гугл диск на сервер

3 возможные проблемы

3.1 Доступ запрещен при авторизации

3.2 Неустранимая ошибка: не удалось получить токен: сообщение "https://oauth2.googleapis.com/token"


1 Подать заявку на Google Drive API

Сначала зайдите в облачную консоль Google и создайте проект.

создать новый проект
создать новый проект
Введите название проекта по мере необходимости

 После завершения создания выберите проект и войдите в интерфейс настройки API.

Войдите на страницу конфигурации API

 Нажмите «Включить API и службы».

Нажмите «Запустить API и службы».

 Затем мы ищем «google drive» в библиотеке API или выбираем Google drive в библиотеках, перечисленных ниже.

поиск гугл диск апи

 После включения API веб-страница автоматически перейдет к консоли Google Cloud API. В это время мы поочередно нажимаем «Учетные данные» - «СОЗДАТЬ УЧЕТНЫЕ ДАННЫЕ» - «Идентификатор клиента OAuth».

Создайте идентификатор OAuth

Согласно подсказке, для настройки идентификатора OAuth сначала необходимо настроить экран согласия.

 При настройке экрана согласия выбираем «внешний», иначе этот API можно использовать только внутри одной организации.

Выберите «Внешний»

 Затем заполните форму, отмеченную звездочкой. Здесь может быть ошибка "Ошибка сохранения приложения", скорее всего из-за конфликтов имен приложений, можно попробовать использовать необычное имя приложения.

заполните необходимую информацию

 В интерфейсе настройки «Диапазон» нам не нужно вносить никаких изменений.

В интерфейсе «Тестовый пользователь» мы можем добавить нашу учетную запись Google к тестовому пользователю.

Созданное нами приложение имеет два состояния "тест" и "выпуск". В состоянии выпуска все могут получить доступ к приложению, а в состоянии тестирования только тестовые пользователи могут получить доступ к приложению. В будущем мы можем свободно выбирать, следует ли опубликовать приложение.

Опубликуйте приложение, чтобы оно было доступно всем, в противном случае его могут использовать только тестовые пользователи.

 Теперь, когда у нас настроен экран согласия, перейдите к настройке идентификатора OAuth.

Приступить к созданию идентификатора OAuth.

 Запишите идентификатор и пароль или загрузите файл json напрямую, который содержит идентификатор и секрет.

Запишите идентификатор и ключ

 До сих пор мы подали заявку на 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», чтобы создать новый облачный диск, а затем дайте ему имя.

Создайте новый пульт и назовите его

 Найдите диск Google и введите перед ним серийный номер 18. Обратите внимание, что по мере изменения версии rclone серийный номер диска Google может измениться, пожалуйста, подтвердите серийный номер самостоятельно.

Найдите Google Диск и введите серийный номер

 После выбора Google Диска мы вводим идентификатор API и секрет, который мы только что получили.

Введите идентификатор и ключ

 Затем дайте программе полные права

Выберите Полный доступ

 Далее, service_account_file можно оставить пустым, выберите No для расширенной настройки и автоматической настройки

service_account_file нажмите Enter напрямую, выберите «n» для расширенного и автоматического

 Затем нам нужно аутентифицировать приложение в Интернете. Но поскольку на сервере нет браузера, мы можем только загрузить версию rclone для Windows, запустить команду, заданную программой в Windows, и открыть веб-страницу для аутентификации.

Сначала мы загружаем версию rclone для Windows со страницы загрузки rclone , разархивируем программу по любому пути, а затем нажимаем win+R для запуска cmd.

запустить cmd

 После ввода cmd используйте команду cd, чтобы войти в каталог, в котором находится программа rclone, и введите команду, указанную в системе linux.

Скопируйте команду в красное поле

cd для входа в каталог rclone и вставьте команду для запуска

 После выполнения команды в браузере автоматически откроется интерфейс входа в учетную запись Google, и вы войдете в свою учетную запись Google. Поскольку наше приложение не было официально сертифицировано Google, могут появиться следующие подсказки, что нормально, просто зайдите в свое приложение.

Появление этой подсказки является нормальным

 Далее авторизуйте приложение

авторизованное приложение

 Если авторизация прошла успешно, на веб-странице должно появиться сообщение Success.

подсказка об успехе

 Далее скопируйте полученный токен и вставьте его в config_token на стороне сервера.

Залейте полученный токен обратно на сервер

Здесь мы хотим смонтировать командный диск, поэтому выбираем y. Если вы хотите смонтировать свой личный диск, заполните n.

Введите «y», чтобы смонтировать командный диск

 Далее программа выведет список всех командных дисков под вашей учетной записью, просто выберите тот, который хотите смонтировать.

Выберите командный диск для монтирования

 Далее подтвердите информацию:

подтвердить информацию

 На данный момент мы видим, что облачный диск с именем «googledisk» создан, просто нажмите «q», чтобы выйти из программы.

Облачный диск создан

 Далее нам нужно смонтировать только что созданный облачный диск в систему.

Команда для монтирования сетевого диска:

rclone mount 网盘名:网盘下的目录 即将挂载到的目录 --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

Имя сетевого диска: имя сетевого диска, который мы только что создали в rclone, то есть googledisk.

Каталог на сетевом диске: каталог на сетевом диске Google

Каталог для монтирования: путь в серверной системе

Беру себя в пример:

 После выполнения команды, если нет других ошибок, программа зависнет здесь. Мы не хотим завершать команду, а напрямую отключаем терминал, позволяем ему продолжать работать и открываем новый терминал для последующих операций.

Используйте команду df -h для проверки состояния системного диска, и вы увидите, что облачный диск был успешно смонтирован.

Успешно смонтирован созданный сетевой диск

 Теперь мы можем нормально обращаться к файлам на сетевом диске!

Обычный доступ к файлам сетевого диска

 Выше описан метод подключения облачного диска Google, и методы подключения других облачных дисков аналогичны.

3 возможные проблемы

3.1 Доступ запрещен при авторизации

Это может быть вызвано тем, что учетная запись не имеет прав доступа к приложению.Вы можете проверить, опубликовано ли приложение. Если приложение находится в тестовом состоянии, вы можете добавить свою учетную запись к тестовому пользователю.

3.2 Неустранимая ошибка: не удалось получить токен: сообщение "https://oauth2.googleapis.com/token"

Конкретная ошибка показана на рисунке Хотя программа показывает Success на веб-странице, rclone не может получить токен.

rclone не может получить токен

报错:Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, потому что подключенный хост не ответил.

Если возникает такая ошибка, это доказывает, что cmd не подключен к сети Google.В это время в cmd должен быть установлен соответствующий прокси. Для получения дополнительной информации см.: Настройка прокси-сервера терминала командной строки cmd системы Windows .

рекомендация

отblog.csdn.net/diqiudq/article/details/126070602