ショートカットとは、Google ドライブ上の他のファイルやフォルダにリンクするファイルです。 ショートカットには次の特徴があります。
application/vnd.google-apps.shortcut
MIME タイプ。詳しくは、Google Workspace と Google ドライブでサポートされる MIME タイプをご覧ください。ショートカットの ACL は親の ACL を継承します。ショートカットの ACL を直接変更することはできません。
ターゲットのファイルまたはフォルダを指す
targetId
。「ターゲット」とも呼ばれます。ターゲットの MIME タイプを示す
targetMimeType
。targetMimeType
は、表示するアイコンのタイプを決定するために使用されます。ショートカットが作成されると、ターゲットの MIME タイプがtargetMimeType
フィールドにコピーされます。targetId
フィールドとtargetMimeType
フィールドは、file リソース内のshortcutDetails
フィールドの一部です。ショートカットの親は 1 つだけです。ドライブの他の場所にあるショートカット ファイルが必要な場合は、ショートカット ファイルを追加の場所にコピーできます。
ターゲットが削除されるか、現在のユーザーがターゲットにアクセスできなくなった場合は、そのターゲットを指すユーザーのショートカットが機能しなくなります。
ショートカットのタイトルは、対象とは異なる場合があります。ショートカットを作成すると、ターゲットのタイトルがショートカットのタイトルとして使用されます。ショートカットのタイトルとターゲットのタイトルは、作成後に個別に変更できます。ターゲットの名前が変更されても、以前に作成されたショートカットでは古いタイトルが保持されます。
ショートカットの MIME タイプが古くなることがあります。まれに、別のタイプのリビジョンがアップロードされると blob ファイルの MIME タイプが変更されますが、更新されたファイルを参照するショートカットでは元の MIME タイプが保持されます。たとえば、JPG ファイルをドライブにアップロードし、次に AVI リビジョンをアップロードすると、ドライブで変更が認識され、実際のファイルのサムネイルが更新されます。ただし、ショートカットには引き続き JPG サムネイルが付いています。
Google アカウント データ エクスポート(Google データ エクスポートとも呼ばれます)では、ショートカットはターゲットへのリンクを含む Netscape ブックマーク ファイルとして表されます。
詳しくは、Google ドライブのショートカットでファイルやフォルダを検索するをご覧ください。
ショートカットを作成
ショートカットを作成するには、MIME タイプを application/vnd.google-apps.shortcut
に設定し、ショートカットのリンク先のファイルまたはフォルダを targetId
に設定して、files.create
を呼び出してショートカットを作成します。
次の例は、クライアント ライブラリを使用してショートカットを作成する方法を示しています。
Python
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 は検索するクエリ語句またはフィールドです。共有ドライブのフィルタに使用できるクエリ語句については、検索語句をご覧ください。
- 演算子には、クエリ語句の条件を指定します。各クエリ用語で使用できる演算子を確認するには、クエリ演算子をご覧ください。
- values は、検索結果のフィルタリングに使用する特定の値です。
たとえば、次のクエリ文字列は、スプレッドシート ファイルへのすべてのショートカットを返すように検索をフィルタリングします。
q: mimeType='application/vnd.google-apps.shortcut' AND shortcutDetails.targetMimeType='application/vnd.google-apps.spreadsheet'