Создать ярлык для файла на Диске

Ярлыки — это файлы, которые ссылаются на другие файлы или папки на Google Диске. Ярлыки обладают следующими характеристиками:

  • MIME-тип application/vnd.google-apps.shortcut . Подробнее см. в разделе «Поддерживаемые MIME-типы Google Workspace и Google Drive» .

  • ACL для ярлыка наследует ACL родительского элемента. ACL ярлыка нельзя изменить напрямую.

  • targetId , указывающий на целевой файл или папку, также называемый «целью».

  • Поле targetMimeType указывает тип MIME для целевого объекта. Тип targetMimeType используется для определения типа значка, который будет отображаться. Тип MIME целевого объекта копируется в поле targetMimeType при создании ярлыка.

  • Поля targetId и targetMimeType являются частью поля shortcutDetails в ресурсе файла .

  • Ярлык может иметь только один родительский файл. Если файл ярлыка требуется в других местах Диска, его можно скопировать в дополнительные места.

  • При удалении цели или когда текущий пользователь теряет доступ к цели, ярлык пользователя, указывающий на цель, перестает работать.

  • Название ярлыка может отличаться от названия цели. При создании ярлыка название цели используется в качестве названия ярлыка. После создания названия ярлыка и названия цели можно изменять независимо друг от друга. При изменении названия цели ранее созданные ярлыки сохраняют прежнее название.

  • Тип MIME ярлыка может устареть. Хотя это случается редко, тип MIME файла BLOB-объекта меняется при загрузке версии другого типа, но все ярлыки, указывающие на обновлённый файл, сохраняют исходный тип MIME. Например, если вы загружаете JPG-файл на Диск, а затем загружаете версию AVI, Диск распознаёт изменение и обновляет миниатюру для самого файла. Однако у ярлыка по-прежнему будет миниатюра JPG.

  • В Google Account Data Export, также известном как Google Takeout, ярлыки представлены в виде файлов закладок Netscape, содержащих ссылки на целевой объект.

Дополнительную информацию см. в разделе Поиск файлов и папок с помощью ярлыков Google Диска .

Создать ярлык

Чтобы создать ярлык, задайте тип MIME на application/vnd.google-apps.shortcut , задайте targetId для файла или папки, на которые должен ссылаться ярлык, и вызовите files.create для создания ярлыка.

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

Питон

file_metadata = {
    'name': 'FILE_NAME',
    'mimeType': 'text/plain'
}
file = drive_service.files().create(body=file_metadata, fields='id').execute()
print('File ID: %s' % file.get('id'))
shortcut_metadata = {
     'Name': 'SHORTCUT_NAME',
     'mimeType': 'application/vnd.google-apps.shortcut',
     'shortcutDetails': {
        'targetId': file.get('id')
     }
}
shortcut = drive_service.files().create(body=shortcut_metadata,
                                    fields='id,shortcutDetails').execute()
print('File ID: %s, Shortcut Target ID: %s, Shortcut Target MIME type: %s' % (
    shortcut.get('id'),
    shortcut.get('shortcutDetails').get('targetId'),
    shortcut.get('shortcutDetails').get('targetMimeType')))

Node.js

var fileMetadata = {
  'name': 'FILE_NAME',
  'mimeType': 'text/plain'
};
drive.files.create({
  'resource': fileMetadata,
  'fields': 'id'
}, function (err, file) {
  if (err) {
    // Handle error
    console.error(err);
  } else {
    console.log('File Id: ' + file.id);
    shortcutMetadata = {
      'name': 'SHORTCUT_NAME',
      'mimeType': 'application/vnd.google-apps.shortcut'
      'shortcutDetails': {
        'targetId': file.id
      }
    };
    drive.files.create({
      'resource': shortcutMetadata,
      'fields': 'id,name,mimeType,shortcutDetails'
    }, function(err, shortcut) {
      if (err) {
        // Handle error
        console.error(err);
      } else {
        console.log('Shortcut Id: ' + shortcut.id +
                    ', Name: ' + shortcut.name +
                    ', target Id: ' + shortcut.shortcutDetails.targetId +
                    ', target MIME type: ' + shortcut.shortcutDetails.targetMimeType);
      }
    }
  }
});

Заменить следующее:

  • FILE_NAME : имя файла, требующего ярлыка.
  • SHORTCUT_NAME : имя этого ярлыка.

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

Поиск ярлыка

Для поиска ярлыка используйте строку запроса q с files.list , чтобы отфильтровать возвращаемые ярлыки.

mimeType operator values

Где:

  • query_term — это термин или поле запроса для поиска. Чтобы просмотреть термины запроса, которые можно использовать для фильтрации общих дисков, см. раздел Термины поискового запроса .
  • Оператор задаёт условие для условия запроса. Чтобы узнать, какие операторы можно использовать с каждым условием запроса, см. раздел Операторы запроса .
  • значения — это конкретные значения, которые вы хотите использовать для фильтрации результатов поиска.

Например, следующая строка запроса фильтрует поиск, возвращая все ярлыки файлов электронных таблиц:

q: mimeType='application/vnd.google-apps.shortcut' AND shortcutDetails.targetMimeType='application/vnd.google-apps.spreadsheet'
,

Ярлыки — это файлы, которые ссылаются на другие файлы или папки на Google Диске. Ярлыки обладают следующими характеристиками:

  • MIME-тип application/vnd.google-apps.shortcut . Подробнее см. в разделе «Поддерживаемые MIME-типы Google Workspace и Google Drive» .

  • ACL для ярлыка наследует ACL родительского элемента. ACL ярлыка нельзя изменить напрямую.

  • targetId , указывающий на целевой файл или папку, также называемый «целью».

  • Поле targetMimeType указывает тип MIME для целевого объекта. Тип targetMimeType используется для определения типа значка, который будет отображаться. Тип MIME целевого объекта копируется в поле targetMimeType при создании ярлыка.

  • Поля targetId и targetMimeType являются частью поля shortcutDetails в ресурсе файла .

  • Ярлык может иметь только один родительский файл. Если файл ярлыка требуется в других местах Диска, его можно скопировать в дополнительные места.

  • При удалении цели или когда текущий пользователь теряет доступ к цели, ярлык пользователя, указывающий на цель, перестает работать.

  • Название ярлыка может отличаться от названия цели. При создании ярлыка название цели используется в качестве названия ярлыка. После создания названия ярлыка и названия цели можно изменять независимо друг от друга. При изменении названия цели ранее созданные ярлыки сохраняют прежнее название.

  • Тип MIME ярлыка может устареть. Хотя это случается редко, тип MIME файла BLOB-объекта меняется при загрузке версии другого типа, но все ярлыки, указывающие на обновлённый файл, сохраняют исходный тип MIME. Например, если вы загружаете JPG-файл на Диск, а затем загружаете версию AVI, Диск распознаёт изменение и обновляет миниатюру для самого файла. Однако у ярлыка по-прежнему будет миниатюра JPG.

  • В Google Account Data Export, также известном как Google Takeout, ярлыки представлены в виде файлов закладок Netscape, содержащих ссылки на целевой объект.

Дополнительную информацию см. в разделе Поиск файлов и папок с помощью ярлыков Google Диска .

Создать ярлык

Чтобы создать ярлык, задайте тип MIME на application/vnd.google-apps.shortcut , задайте targetId для файла или папки, на которые должен ссылаться ярлык, и вызовите files.create для создания ярлыка.

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

Питон

file_metadata = {
    'name': 'FILE_NAME',
    'mimeType': 'text/plain'
}
file = drive_service.files().create(body=file_metadata, fields='id').execute()
print('File ID: %s' % file.get('id'))
shortcut_metadata = {
     'Name': 'SHORTCUT_NAME',
     'mimeType': 'application/vnd.google-apps.shortcut',
     'shortcutDetails': {
        'targetId': file.get('id')
     }
}
shortcut = drive_service.files().create(body=shortcut_metadata,
                                    fields='id,shortcutDetails').execute()
print('File ID: %s, Shortcut Target ID: %s, Shortcut Target MIME type: %s' % (
    shortcut.get('id'),
    shortcut.get('shortcutDetails').get('targetId'),
    shortcut.get('shortcutDetails').get('targetMimeType')))

Node.js

var fileMetadata = {
  'name': 'FILE_NAME',
  'mimeType': 'text/plain'
};
drive.files.create({
  'resource': fileMetadata,
  'fields': 'id'
}, function (err, file) {
  if (err) {
    // Handle error
    console.error(err);
  } else {
    console.log('File Id: ' + file.id);
    shortcutMetadata = {
      'name': 'SHORTCUT_NAME',
      'mimeType': 'application/vnd.google-apps.shortcut'
      'shortcutDetails': {
        'targetId': file.id
      }
    };
    drive.files.create({
      'resource': shortcutMetadata,
      'fields': 'id,name,mimeType,shortcutDetails'
    }, function(err, shortcut) {
      if (err) {
        // Handle error
        console.error(err);
      } else {
        console.log('Shortcut Id: ' + shortcut.id +
                    ', Name: ' + shortcut.name +
                    ', target Id: ' + shortcut.shortcutDetails.targetId +
                    ', target MIME type: ' + shortcut.shortcutDetails.targetMimeType);
      }
    }
  }
});

Заменить следующее:

  • FILE_NAME : имя файла, требующего ярлыка.
  • SHORTCUT_NAME : имя этого ярлыка.

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

Поиск ярлыка

Для поиска ярлыка используйте строку запроса q с files.list , чтобы отфильтровать возвращаемые ярлыки.

mimeType operator values

Где:

  • query_term — это термин или поле запроса для поиска. Чтобы просмотреть термины запроса, которые можно использовать для фильтрации общих дисков, см. раздел Термины поискового запроса .
  • Оператор задаёт условие для условия запроса. Чтобы узнать, какие операторы можно использовать с каждым условием запроса, см. раздел Операторы запроса .
  • значения — это конкретные значения, которые вы хотите использовать для фильтрации результатов поиска.

Например, следующая строка запроса фильтрует поиск, возвращая все ярлыки файлов электронных таблиц:

q: mimeType='application/vnd.google-apps.shortcut' AND shortcutDetails.targetMimeType='application/vnd.google-apps.spreadsheet'