- Зрозумійте, якими метаданими керує Диск (назва, теги, indexableText та мініатюри), а які метадані належать іншим сервісам Google Cloud.
- Використовуйте API Диска для запитів та налаштування метаданих; очищуйте EXIF та вбудовані дані перед завантаженням файлів.
- Дотримуйтесь обмежень та правил (мініатюри, індексований текст, розширення) та автентифікуйтеся за допомогою gcloud для локального REST-тестування.
Ви хочете контролювати метадані своїх файлів у Google Drive і не знаєте, з чого почати? Тут ми детально пояснюємо, Як ефективно та безпечно видалити метадані на Google Диску (метадані завантажених файлів). Ми також повідомляємо вам, які обмеження Google накладає на імена файлів, розміри та дозволи.
Цей посібник дасть вам повне та реалістичне розуміння того, що можна (і не можна) «видаляти», коли йдеться про метадані на Google Диску.
Що можна змінити або «видалити» на Диску
Такі метадані які можна видалити з файлів, завантажених на Google Диск:
Ім'я та розширення: Під час створення файлу через API рекомендується вказати розширення в полі імені, наприклад, "cat.jpg". Диск може визначити розширення з MIME-типу, якщо ви його не вкажете, але краще визначити його самостійно. У наступних відповідях може з’явитися файлове розширення лише для читання з розширенням, заповненим з імені. Якщо користувач завантажує файл, Диск компілює остаточну назву з назви (та її розширення).
- Індексований текст (contentHints.indexableText): Диск за замовчуванням індексує поширені документи та типи (PDF, зображення з підтримкою OCR тощо). Якщо ваша програма зберігає документи в інших форматах (малюнки, відео, ярлики), ви можете надати індексований текст для покращення пошуку. Цей текст обробляється як HTML: якщо ви передаєте рядок, що містить теги, індексується текстовий вміст, а не атрибути тегів. Існує обмеження розміру contentHints.indexableText у 128 КБ, і рекомендується оновлювати його під час кожного збереження та підтримувати його релевантність до файлу.
- Мініатюри (contentHints.thumbnail): Диск генерує мініатюри для багатьох типів, але для форматів, які не генерують їх автоматично, ви можете завантажити власні під час створення або оновлення файлу. Ви повинні встановити для зображення URL-safe base64 та відповідний mimeType. Основні правила: Підтримувані формати: PNG, GIF або JPG; рекомендована ширина – 1600 пікселів (мінімум 220 пікселів), а максимальний розмір – 2 МБ. Мініатюри стають недійсними, коли змінюється вміст файлу; зміни метаданих – ні.
- Доступ до мініатюр: Поле ThumbnailLink повертає коротку URL-адресу, доступну лише за умови, що програма має дозвіл на читання файлу (якщо він не є загальнодоступним, вам потрібно буде запросити його за допомогою облікових даних). Ви можете запитувати його для певного файлу або для списку, відфільтрованого за типом.
- Мітки: Диск дозволяє пов’язувати мітки з файлами. Щоб знайти їх, можна використовувати files.listLabels, а щоб змінити їх, потрібно посилатися на відповідні labelId та fileId. Цей механізм корисний для категоризації та, за необхідності, «очищення» небажаних класифікацій без торкання вмісту.
Видалення метаданих на Google Диску: «приховані» метадані з самого файлу
На Google Диску немає чарівної кнопки для видалення метаданих (наприклад, EXIF на фотографіях або вбудованих даних у PDF-файлах). Диск керує власними метаданими, але метадані у файлі залежать від інструменту, який його створив.
Рекомендована практика полягає в очистіть файл перед завантаженням його на Диск, Використання системних інструментів або спеціалізованих програм, які видаляють дані EXIF із зображень або властивостей документів. Таким чином, вміст, який ви зберігаєте на Диску, надходить «очищеним».
Якщо у вас вже є завантажені файли з вбудованими метаданими, замість видалення метаданих на Google Диску це зручніше завантажувати, очищати та повторно завантажувати, заміна оригіналу, якщо це можливо. З PDF-файлами або зображеннями це поширена практика, коли потрібно захистити авторство, місцезнаходження або історію редагування.
Щодо конкретної частини Диска, зосередитися на налаштуванні назви, підписів та підказок вмісту (indexableText/thumbnail), які перебувають під вашим контролем. Якщо ви також керуєте дозволами доступу, ви також зменшуєте доступність видимих метаданих (наприклад, посилань на мініатюри, доступних тим, хто має права на читання).
Не забувайте про це Зміна лише метаданих Диска не видаляє EXIF або внутрішні властивості. Тому ваша стратегія повинна поєднувати попереднє очищення файлу з детальним керуванням метаданими, до якого можна отримати доступ на Диску.
Часто плутані метадані в Google Cloud: віртуальні машини, gcloud та обмеження
Якщо ви працюєте з Google Cloud, ви побачите багато посібники щодо «метаданих», які насправді стосуються Compute Engine або Cloud Storage, а не Drive. Навіть у такому разі, вам слід знати ці моменти, щоб не переплутати їх під час дослідження.
Базова конфігурація командного рядка gcloud
Після встановлення Google Cloud CLI ініціалізуйте за допомогою:
gcloud init
Важливо переконатися, що у вас встановлена остання версія з:
gcloud components update
Якщо ви користуєтеся послугами зовнішнього постачальника послуг ідентифікації, Увійдіть, використовуючи свою федеративну ідентифікаційну дані, перш ніж працювати з gcloud, особливо якщо ви збираєтеся автентифікуватися для здійснення REST-викликів з вашого локального середовища. Зразки REST API можуть використовувати облікові дані, які ви налаштували в gcloud.
Віртуальні машини
Дозволи та ролі (Compute Engine): Щоб додавати, оновлювати або видаляти власні метадані на віртуальних машинах, вам потрібні відповідні дозволи IAM. Типові приклади включають:
- Якщо ваші віртуальні машини використовують облікові записи служб: дозвіл
iam.serviceAccounts.actAsв обліковому записі служби або проекту. - Метадані проєкту:
compute.projects.getycompute.projects.setCommonInstanceMetadata. - Зональні метадані:
compute.instanceSettings.getycompute.instanceSettings.updateдля відповідної області. - Метадані екземпляра:
compute.instances.getycompute.instances.setMetadata.
Обмеження
Ось основні обмеження, з якими ми зіткнулися під час спроби видалити метадані на Google Диску:
- Обмеження розміру (обчислювальний механізм): Загальна кількість записів метаданих обмежена 512 КБ. Кожен ключ обмежений 128 байтами, а кожне значення — 256 КБ. Наприклад, якщо ви використовуєте ключ ssh-keys і перевищите ліміт у 256 КБ, ви не зможете додавати більше ключів, доки не очистите дані.
- Верхній і нижній регістри: Ключі чутливі до регістру; значення також, за винятком логічних значень. У zonal не можна створити два ключі, які відрізняються лише регістром (zonal-metadata-key проти ZONAL-METADATA-KEY).
- Зональні метадані: встановлюються або видаляються за допомогою gcloud або REST. Ви не можете визначити зональні значення для SSH-ключів (ssh-ключів). У логічному каталозі project/, якщо для одного й того ж ключа є значення на рівні проєкту та зональні значення, зональне значення має пріоритет у його зоні.
- Підтримувані логічні значення: Окрім TRUE/FALSE, можна використовувати Y/Yes/1 та N/No/0 (без урахування регістру).
- Області конфігурації (Compute Engine):
- Проект: метадані, спільні для всіх віртуальних машин у проєкті.
- Зональний: записи, які впливають на всі віртуальні машини в певній зоні та можуть перевизначати значення проекту.
- Приклад: метадані для конкретної віртуальної машини (створеної або вже існуючої).

Мініатюри, індексування та пошук метаданих на Диску (REST та рекомендації)
Давайте тепер розглянемо роль мініатюр під час видалення метаданих на Google Диску. А також найкращий спосіб їх відновлення:
- Автентифікація для локального REST: Якщо ви тестуєте приклади REST на своєму комп’ютері, використовуйте облікові дані, налаштовані за допомогою gcloud. Таким чином, ваші виклики API Диска враховуватимуть ідентифікаційні дані та дозволи, які ви вже встановили.
- Завантаження власних мініатюр: Вкажіть у contentHints.thumbnail два поля: зображення base64, безпечне для URL, та правильний тип MIME. Якщо Диск може автоматично створювати мініатюру, він використовуватиме свою власну мініатюру та пропустить вашу. В іншому випадку він використовуватиме ту, яку ви надасте.
Основні правила для мініатюр на Диску:
- Формати: PNG, GIF або JPG.
- Рекомендована ширина: 1600 пікселів (мінімум 220 пікселів).
- Максимальний розмір: 2 МБ.
- Оновлюйте мініатюру з кожним збереженням, якщо вона все ще актуальна.
Важливо про визнання недійсним: Мініатюри стають недійсними, коли змінюється вміст файлу; зміни метаданих – ні. Якщо ви змінюєте лише теги або назву, не очікуйте появи нової мініатюри, якщо ви не зміните файл.
Індексований текст
Не намагайтеся «обдурити» пошук модними словами. Зафіксуйте концепції та терміни, які користувач обґрунтовано шукав би для цього файлу, та перевірте обмеження в 128 КБ. Оновлюйте його щоразу, коли вміст суттєво змінюється.
Застосовуйте узгоджені назви та розширенняЗавжди, коли це можливо, включайте розширення в назву під час завантаження; якщо його немає, Диск спробує визначити його за допомогою MIME. Чіткість назв допоможе уникнути двозначностей і спростить пошук розширень.
Теги на Диску
Щоб змінити мітки, запишіть необхідні ідентифікатори. Вам знадобляться labelId мітки та fileId файлу. Спочатку ви можете перерахувати їх за допомогою files.listLabels, а потім застосувати відповідні зміни до цільового файлу.
// Al modificar etiquetas de un archivo en Drive:
// - labelId: identificador de la etiqueta a cambiar
// - fileId: identificador del archivo al que aplicas la etiqueta
// Usa files.listLabels para localizarlas antes de actualizar.
Пам'ятайте, що, Хоча основна увага приділяється Диску, багато розробок поєднують Диск із хмарним сховищем або іншими сервісами, Отже, ви побачите приклади використання Storage для перевірки атрибутів об'єктів.
// Ejemplo en Go para obtener atributos de un objeto en Cloud Storage (no Drive)
// e imprimir metadatos como ContentType, CacheControl, MD5, etc.
// Útil si tu flujo sube primero a Storage y luego a Drive.
import (
"context"
"fmt"
"io"
"time"
"cloud.google.com/go/storage"
)
func getMetadata(w io.Writer, bucket, object string) (*storage.ObjectAttrs, error) {
ctx := context.Background()
client, err := storage.NewClient(ctx)
if err != nil { return nil, fmt.Errorf("storage.NewClient: %w", err) }
defer client.Close()
ctx, cancel := context.WithTimeout(ctx, 10*time.Second)
defer cancel()
o := client.Bucket(bucket).Object(object)
attrs, err := o.Attrs(ctx)
if err != nil { return nil, fmt.Errorf("Object(%q).Attrs: %w", object, err) }
fmt.Fprintf(w, "Bucket: %v\n", attrs.Bucket)
fmt.Fprintf(w, "CacheControl: %v\n", attrs.CacheControl)
fmt.Fprintf(w, "ContentDisposition: %v\n", attrs.ContentDisposition)
fmt.Fprintf(w, "ContentEncoding: %v\n", attrs.ContentEncoding)
fmt.Fprintf(w, "ContentLanguage: %v\n", attrs.ContentLanguage)
fmt.Fprintf(w, "ContentType: %v\n", attrs.ContentType)
fmt.Fprintf(w, "Crc32c: %v\n", attrs.CRC32C)
fmt.Fprintf(w, "Generation: %v\n", attrs.Generation)
fmt.Fprintf(w, "KmsKeyName: %v\n", attrs.KMSKeyName)
fmt.Fprintf(w, "Md5Hash: %v\n", attrs.MD5)
fmt.Fprintf(w, "MediaLink: %v\n", attrs.MediaLink)
fmt.Fprintf(w, "Metageneration: %v\n", attrs.Metageneration)
fmt.Fprintf(w, "Name: %v\n", attrs.Name)
fmt.Fprintf(w, "Size: %v\n", attrs.Size)
fmt.Fprintf(w, "StorageClass: %v\n", attrs.StorageClass)
fmt.Fprintf(w, "TimeCreated: %v\n", attrs.Created)
fmt.Fprintf(w, "Updated: %v\n", attrs.Updated)
fmt.Fprintf(w, "Event-based hold enabled? %t\n", attrs.EventBasedHold)
fmt.Fprintf(w, "Temporary hold enabled? %t\n", attrs.TemporaryHold)
fmt.Fprintf(w, "Retention expiration time %v\n", attrs.RetentionExpirationTime)
fmt.Fprintf(w, "Custom time %v\n", attrs.CustomTime)
fmt.Fprintf(w, "Retention: %+v\n", attrs.Retention)
fmt.Fprintf(w, "\n\nMetadata\n")
for key, value := range attrs.Metadata {
fmt.Fprintf(w, "\t%v = %v\n", key, value)
}
return attrs, nil
}
Видалення файлів проти видалення метаданих на Google Диску
Якщо те, що ти хочеш, так і є видалити файл з ДискаЯк власник, ви можете перемістити його до кошика з Інтернету, клацнувши правою кнопкою миші та вибравши "Перемістити до кошика". Якщо власником є хтось інший, ви можете лише "Видалити" файл зі свого вікна перегляду; інші все одно зможуть його бачити.
в Щоб остаточно видалити файл, потрібно очистити кошик або скористатися опцією остаточного видалення, У цьому випадку ви не зможете його відновити. Це саме по собі не «видаляє метадані» з інших файлів — це стосується лише цього елемента.
Ви не можете видалити метадані на Google Диску з файлів, які вам не належать. оскільки контроль над ними належить особі, яка їх створила, або комусь із вищими дозволами в організації. У цих випадках ви просто позбавляєте себе доступу або видимості.
Зв'язок цього з метаданими: Видалення файлу видаляє його метадані на Диску разом із ним. але це не впливає на метадані в інших копіях або вбудовані метадані в інших документах, що залишаються в системі.
З огляду на все вищесказане, тепер ви можете добре розрізняти Які метадані контролює Диск (назва, теги, підказки пошуку та мініатюри), як запитувати їх через REST, яких найкращих практик дотримуватися для очищення вбудованих даних перед завантаженням, а також які обмеження та дозволи враховуються, коли ви зустрічаєте документацію Google Cloud, яка згадує «метадані» в інших контекстах.
Редактор, що спеціалізується на технологіях та питаннях Інтернету з більш ніж десятирічним досвідом роботи з різними цифровими медіа. Я працював редактором і творцем контенту для компаній електронної комерції, комунікацій, онлайн-маркетингу та реклами. Я також писав на веб-сайтах з економіки, фінансів та інших секторів. Моя робота також є моєю пристрастю. Тепер через мої статті в Tecnobits, я намагаюся вивчати всі новини та нові можливості, які щодня пропонує нам світ технологій для покращення нашого життя.