Как узнать идентификатор файла

Обновлено: 21.11.2024

Самый естественный способ идентифицировать файл — это его имя. Однако Drive API идентифицирует файл по его уникальному идентификатору. googledrive позволяет сначала указать интересующий вас файл по имени, а затем сразу же захватить его, включив идентификатор файла. Это облегчает последующие операции с файлами.

googledrive хранит информацию о файлах Диска в так называемых дриблах. Тиббл — это вариант фрейма данных, который используется в tidyverse. В файле googledrive будет одна строка для каждого файла и гарантированно будут следующие переменные:

  • name : имя файла.
  • id : уникальный идентификатор файла.
  • drive_resource : столбец списка, содержащий метаданные Drive API, которые полезны для внутреннего использования и, возможно, интересны некоторым пользователям. Типичный пользователь не проверит эту переменную. Просто позвольте этому быть.

Некоторые функции добавляют дополнительные переменные, но всегда присутствуют три указанные выше. drive_reveal() , например, может добавлять пути к файлам, типы MIME, статус корзины и информацию о разрешениях и публикации. Используйте свои обычные методы манипулирования фреймами данных, чтобы изолировать определенные строки — в данном случае файлы, — с которыми вы хотите работать. Например, вы можете манипулировать каплей с помощью глаголов dplyr, таких как filter() , mutate() , аранжировка() и slice() .

Как получить один или несколько файлов в дриблинге

Как в первую очередь поместить файлы в дриблинг? Две основные функции для этого:

drive_find()

Прочитайте справку для получения полной документации, но вот некоторые из множества способов вызова drive_find() :

drive_find() предназначен для исчерпывающего списка файлов или фильтрации по свойствам файлов.

drive_get()

Полная документация приведена в справке, но вот как могут выглядеть вызовы drive_get():

drive_get() предназначен для целевого извлечения файлов на основе имени, пути, идентификатора или URL-адреса.

Другие полезные функции

drive_reveal() добавляет бонусную информацию к dribble, либо извлекая ее из переменной drive_resource, либо вызывая Drive API. Используйте его на дрибле, содержащем интересующие вас файлы.

drive_ls() выводит список файлов в указанной папке. Это тонкая оболочка над drive_find() , поэтому доступны все эти возможности.

Получает метаданные или содержимое файла по идентификатору. Попробуйте прямо сейчас или посмотрите пример.

Если указать параметр URL alt=media , ответ будет включать содержимое файла в текст ответа. Загрузка содержимого с помощью alt=media работает только в том случае, если файл хранится на Диске. Для загрузки Google Docs, Sheets и Slides используйте вместо них files.export. Дополнительную информацию о загрузке файлов см. в разделе Загрузка файлов.

Запрос

Параметры

Имя параметра Значение Описание
Параметры пути
fileId string Идентификатор рассматриваемого файла.
Необязательные параметры запроса
acknowledgeAbuse boolean Подтверждает ли пользователь риск загрузки известного вредоносного ПО или других оскорбительных файлов. (По умолчанию: false )
includePermissionsForView string Указывает, какие дополнительные разрешения представления следует включить в ответ. Поддерживается только «опубликовано».
projection string Предупреждение. Этот элемент устарел. Этот параметр устарел и не имеет никакой функции.

  • "БАЗОВЫЙ": устарело
  • "ПОЛНЫЙ": устарело

Авторизация

Этот запрос разрешает авторизацию по крайней мере в одной из следующих областей:

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

Тело запроса

Не указывайте текст запроса с этим методом.

Ответ

По умолчанию это отвечает ресурсом Files в тексте ответа. Если вы укажете параметр URL-адреса alt=media , ответ будет включать содержимое файла в тело ответа. Загрузка содержимого с помощью alt=media работает только в том случае, если файл хранится на Диске. Для загрузки Google Docs, Sheets и Slides используйте вместо них files.export. Дополнительную информацию о загрузке файлов см. в разделе Загрузка файлов.

Примеры

Примечание. Примеры кода, доступные для этого метода, не представляют все поддерживаемые языки программирования (см. список поддерживаемых языков на странице клиентских библиотек).

Google Диск объединяет файлы в коллекции, описывает файлы по типам и предоставляет определенные атрибуты для каждого файла, чтобы облегчить работу с файлами.

Drive API представляет файлы, хранящиеся на Google Диске, в виде файлового ресурса.

Владение

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

Мой диск У каждого пользователя есть «корневая» папка под названием «Мой диск», которая функционирует как их основная иерархия и состоит из всего, что происходит из этой корневой папки. Пользователь является основным владельцем этой папки. Общие диски Общий диск – это организационная структура в Google Диске, существующая параллельно с My Drive. Вы можете упорядочить отдельный файл на общем диске или в папке "Мой диск", но не на обоих одновременно.

Типы файлов

Google Диск описывает файлы по типам. В этом списке показаны все доступные типы файлов:

Blob Файл, содержащий текст или двоичное содержимое, например изображения, видео и PDF-файлы. Папка

Контейнер, который можно использовать для организации файлов других типов на Диске. Папки – это файлы, которые содержат только метаданные и имеют тип MIME application/vnd.google-apps.folder .

Примечание. Один файл, хранящийся на My Drive, может содержаться в нескольких папках. Один файл, хранящийся на общем диске, может иметь только одну родительскую папку.

Файл, содержащий только метаданные, который указывает на другой файл на Google Диске. MIME-тип файла ярлыка — application/vnd.google-apps.shortcut .

Файл, содержащий только метаданные, который ссылается на контент, хранящийся в сторонней системе хранения. Тип MIME стороннего файла ярлыка — application/vnd.google-apps.drive-sdk .

Документ Google Workspace

Файл, создаваемый приложением Google Workspace, таким как Google Docs, Sheets и Slides. Формат типа MIME — application/vnd.google-apps.*app*, где app — это имя приложения (например, application/vnd.google-apps.spreadsheet для файла Google Sheets). Список типов MIME для Google Диска и Google Workspace см. в разделе Типы MIME Google Workspace и Диска.

Примечание. Вы не можете загружать или скачивать папки, ярлыки, сторонние ярлыки и документы Google Workspace на Google Диск или с него. Однако вы можете загружать или экспортировать документы Google Workspace, если они используют совместимые форматы. Например, вы можете создать документ Google при импорте PDF-файла. Точно так же вы можете экспортировать презентацию Google Slides в виде файла .pptx.

Характеристики файла

В этом списке показаны некоторые характеристики файла на Диске:

Идентификатор файла Уникальный непрозрачный идентификатор для каждого файла. Идентификаторы файлов остаются неизменными на протяжении всего жизненного цикла файла, даже если имя файла изменяется. Выражения поиска используются для поиска файлов по имени, типу, содержимому, родительскому контейнеру, владельцу или другим метаданным. Метаданные Данные, описывающие содержимое файла. Эти данные включают имя, тип, время создания и модификации. Некоторые поля метаданных, такие как имя, не зависят от пользователя и отображаются одинаково для каждого пользователя. Другие поля, такие как «возможности» и «viewByMeDate», содержат пользовательские значения. Типы файлов, такие как изображения и видео, содержат дополнительные метаданные, извлеченные из EXIF ​​и других встроенных метаданных. Разрешение Предоставление доступа пользователю, группе, домену или всему миру для доступа к файлу или иерархии папок. Пользователи определяют, кто может получить доступ к файлу, с помощью списка управления доступом (ACL), который представляет собой список разрешений для файла. Дополнительные сведения см. в разделе Общий доступ к файлам, папкам и дискам. Содержимое Двоичное или текстовое тело файла. Некоторые примеры контента, которые вы можете хранить на Google Диске, — это изображения, видео, текст и PDF. История изменений Запись изменений только содержимого файла, а не его метаданных. Дополнительные сведения о редакциях см. в разделе Обзор изменений и редакций. Миниатюра Графическое представление файла. Диск автоматически создает эскизы для многих распространенных типов файлов. Для ярлыков и других типов файлов, которые Диск не может отобразить, можно предоставить уменьшенное изображение.

Организация файлов

Drive API упорядочивает файлы в места хранения, называемые spaces, и коллекции, называемые corpora.

Определенные места хранения, изолированные друг от друга. Весь контент на Google Диске хранится в одном из трех определенных пространств: drive , appDataFolder и photos .

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

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

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

Файлы не могут перемещаться между пробелами.

Пользовательские наборы. Пользовательские корпуса включают все файлы в разделах "Мой диск" и "Доступные мне".

Совокупность доменов – совокупность доменов включает все файлы, доступные для поиска в домене пользователя, к которым предоставлен общий доступ.

Объекты дисков. Сборники дисков включают все файлы, содержащиеся на одном общем диске.

Все наборы дисков – корпус allDrives включает все файлы на общих дисках, участником которых является пользователь, а также все файлы в разделах "Мой диск" и "Доступные мне". Используйте корпус allDrives с осторожностью, так как он имеет широкий охват и может повлиять на производительность.

Файлы могут свободно перемещаться между корпусами при изменении разрешений и владельцев.

Дальнейшие шаги

Вот несколько следующих шагов, которые вы можете предпринять:

  • Узнайте, как загружать файлы файлов на Google Диск.
  • Узнайте, как загружать файлы с Google Диска. на веб-страницу.
  • Узнайте, как хранить данные приложения.

Если не указано иное, содержимое этой страницы предоставляется по лицензии Creative Commons Attribution 4.0, а образцы кода — по лицензии Apache 2.0. Подробнее см. в Правилах сайта Google Developers. Java является зарегистрированным товарным знаком Oracle и/или ее дочерних компаний.

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

Использование

Аргументы

Вектор символов путей, которые необходимо получить. Используйте косую черту в конце, чтобы явно указать, что путь является папкой, что может устранить неоднозначность, если есть файл с таким же именем (да, это возможно на Диске!). Если путь содержит URL-адреса Диска или явно помечен as_id() , он обрабатывается так, как если бы он был предоставлен через аргумент id.

Вектор символов идентификаторов или URL-адресов файлов Диска (сначала обрабатывается с помощью as_id() ). Если и путь, и идентификатор не равны NULL, идентификатор игнорируется.

Все, что идентифицирует один конкретный общий диск: его имя, идентификатор или URL-адрес, помеченный как as_id() , или dribble . Значение, переданное в shared_drive, предварительно обрабатывается с помощью as_shared_drive(). Узнайте больше об общих дисках.

Символ, определяющий наборы элементов для поиска. Актуально для тех, кто работает с общими дисками и/или доменами Google Workspace. Если указано, должно быть одно из "user" , "drive" (требуется, чтобы shared_drive также был указан), "allDrives" или "domain" . Узнайте больше об общих дисках.

Этот логический аргумент для отдельных функций googledrive устарел. Чтобы глобально подавить обмен сообщениями с googledrive, используйте options(googledrive_quiet = TRUE) (по умолчанию выводятся информационные сообщения). Чтобы запретить обмен сообщениями более ограниченным способом, используйте вспомогательные функции local_drive_quiet() или with_drive_quiet() .

Google Диск и Drive API заменили общие диски общими дисками.

Значение

Объект класса dribble , табличка с одной строкой в ​​файле. Если целевые файлы были указаны через путь , будет столбец пути.

Получение по пути

Google Диск НЕ ведет себя как локальная файловая система! Имена файлов и папок не обязательно должны быть уникальными даже на заданном уровне иерархии. Это означает, что один путь может описывать несколько файлов (или 0, или ровно 1).

Один файл также может быть совместим с несколькими путями, т. е. один путь может быть более конкретным, чем другой. Файл, расположенный в ~/alfa/bravo, можно найти как bravo, alfa/bravo и ~/alfa/bravo. Если бы все три из них были включены во входной путь , они были бы представлены одной строкой в ​​выходных данных.

При использовании путей к файлам лучше всего рассматривать drive_get() как операцию с наборами. Не предполагайте, что i-й входной путь соответствует строке i в выходных данных (хотя это часто так!). Если между входом и выходом нет связи 1-к-1, об этом будет объявлено в сообщении.

drive_get() выполняет достаточное разрешение пути, чтобы однозначно идентифицировать файл, совместимый с каждым входным путем, для всех путей одновременно. Если вам абсолютно необходим полный канонический путь, запустите вывод drive_get() через drive_reveal(d, "path") `.

Файлы, которыми вы не владеете

Если вы хотите получить файл по пути, и он не обязательно находится на вашем диске, вам может потребоваться указать аргументы shared_drive или corpus для поиска других коллекций элементов. Узнайте больше об общих дисках.

См. также

Чтобы добавить информацию о пути к любому дриблу, в котором ее нет, используйте drive_reveal(d, "path") . Чтобы просмотреть содержимое папки, используйте drive_ls(). Для общего поиска используйте drive_find() .

Читайте также: