สร้างไฟล์ทางลัดไปยังเนื้อหาที่แอปของคุณเก็บไว้

ทางลัดของบุคคลที่สามใน Google ไดรฟ์คือไฟล์ที่มีเฉพาะข้อมูลเมตาซึ่งลิงก์ไปยัง ไฟล์อื่นๆ ในระบบพื้นที่เก็บข้อมูลภายนอกของบุคคลที่สาม โดยทางลัดเหล่านี้จะทำหน้าที่เป็นลิงก์อ้างอิงไปยังไฟล์ "เนื้อหา" ที่แอปพลิเคชันจัดเก็บไว้นอกไดรฟ์ ซึ่งมักจะอยู่ในที่เก็บข้อมูลหรือระบบพื้นที่เก็บข้อมูลระบบคลาวด์อื่น

หากต้องการสร้างทางลัดของบุคคลที่สาม ให้ใช้วิธี files.create ของ Google Drive API และตั้งค่าประเภท MIME เป็น application/vnd.google-apps.drive-sdk อย่าอัปโหลดเนื้อหาใดๆ เมื่อสร้างไฟล์ ดูข้อมูลเพิ่มเติมได้ที่ประเภท MIME ที่ Google Workspace และ Google ไดรฟ์รองรับ

คุณอัปโหลดหรือดาวน์โหลดทางลัดของบุคคลที่สามไม่ได้

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างทางลัดของบุคคลที่สามโดยใช้ ไลบรารีของไคลเอ็นต์

Java

drive/snippets/drive_v3/src/main/java/CreateShortcut.java
import com.google.api.client.googleapis.json.GoogleJsonResponseException; import com.google.api.client.http.HttpRequestInitializer; import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.client.json.gson.GsonFactory; import com.google.api.services.drive.Drive; import com.google.api.services.drive.DriveScopes; import com.google.api.services.drive.model.File; import com.google.auth.http.HttpCredentialsAdapter; import com.google.auth.oauth2.GoogleCredentials; import java.io.IOException; import java.util.Arrays;  /* Class to demonstrate Drive's create shortcut use-case */ public class CreateShortcut {    /**    * Creates shortcut for file.    *    * @throws IOException if service account credentials file not found.    */   public static String createShortcut() throws IOException {         /* Load pre-authorized user credentials from the environment.         TODO(developer) - See https://developers.google.com/identity for         guides on implementing OAuth2 for your application.*/     GoogleCredentials credentials = GoogleCredentials.getApplicationDefault()         .createScoped(Arrays.asList(DriveScopes.DRIVE_FILE));     HttpRequestInitializer requestInitializer = new HttpCredentialsAdapter(         credentials);     // Build a new authorized API client service.     Drive service = new Drive.Builder(new NetHttpTransport(),         GsonFactory.getDefaultInstance(),         requestInitializer)         .setApplicationName("Drive samples")         .build();     try {       // Create Shortcut for file.       File fileMetadata = new File();       fileMetadata.setName("Project plan");       fileMetadata.setMimeType("application/vnd.google-apps.drive-sdk");        File file = service.files().create(fileMetadata)           .setFields("id")           .execute();       System.out.println("File ID: " + file.getId());       return file.getId();     } catch (GoogleJsonResponseException e) {       // TODO(developer) - handle error appropriately       System.err.println("Unable to create shortcut: " + e.getDetails());       throw e;     }   } }

Python

drive/snippets/drive-v3/file_snippet/create_shortcut.py
import google.auth from googleapiclient.discovery import build from googleapiclient.errors import HttpError   def create_shortcut():   """Create a third party shortcut    Load pre-authorized user credentials from the environment.   TODO(developer) - See https://developers.google.com/identity   for guides on implementing OAuth2 for the application.   """   creds, _ = google.auth.default()    try:     # create drive api client     service = build("drive", "v3", credentials=creds)     file_metadata = {         "name": "Project plan",         "mimeType": "application/vnd.google-apps.drive-sdk",     }      # pylint: disable=maybe-no-member     file = service.files().create(body=file_metadata, fields="id").execute()     print(f'File ID: {file.get("id")}')    except HttpError as error:     print(f"An error occurred: {error}")   return file.get("id")   if __name__ == "__main__":   create_shortcut()

PHP

drive/snippets/drive_v3/src/DriveCreateShortcut.php
<?php use Google\Client; use Google\Service\Drive; use Google\Service\Drive\DriveFile; function createShortcut() {     try {          $client = new Client();         $client->useApplicationDefaultCredentials();         $client->addScope(Drive::DRIVE);         $driveService = new Drive($client);         $fileMetadata = new DriveFile(array(             'name' => 'Project plan',             'mimeType' => 'application/vnd.google-apps.drive-sdk'));         $file = $driveService->files->create($fileMetadata, array(             'fields' => 'id'));         printf("File ID: %s\n", $file->id);         return $file->id;      } catch(Exception $e) {         echo "Error Message: ".$e;     }  }

.NET

drive/snippets/drive_v3/DriveV3Snippets/CreateShortcut.cs
using Google.Apis.Auth.OAuth2; using Google.Apis.Drive.v3; using Google.Apis.Services;  namespace DriveV3Snippets {     // Class to demonstrate Drive's create shortcut use-case     public class CreateShortcut     {         /// <summary>         /// Create a third party shortcut.         /// </summary>         /// <returns>newly created shortcut file id, null otherwise.</returns>         public static string DriveCreateShortcut()         {             try             {                 /* Load pre-authorized user credentials from the environment.                  TODO(developer) - See https://developers.google.com/identity for                   guides on implementing OAuth2 for your application. */                 GoogleCredential credential = GoogleCredential                     .GetApplicationDefault()                     .CreateScoped(DriveService.Scope.Drive);                  // Create Drive API service.                 var service = new DriveService(new BaseClientService.Initializer                 {                     HttpClientInitializer = credential,                     ApplicationName = "Drive API Snippets"                 });                  // Create Shortcut for file.                 var fileMetadata = new Google.Apis.Drive.v3.Data.File()                 {                     Name = "Project plan",                     MimeType = "application/vnd.google-apps.drive-sdk"                 };                 var request = service.Files.Create(fileMetadata);                 request.Fields = "id";                 var file = request.Execute();                 // Prints the shortcut file id.                 Console.WriteLine("File ID: " + file.Id);                 return file.Id;             }             catch (Exception e)             {                 // TODO(developer) - handle error appropriately                 if (e is AggregateException)                 {                     Console.WriteLine("Credential Not found");                 }                 else                 {                     throw;                 }             }             return null;         }     } }

Node.js

drive/snippets/drive_v3/file_snippets/create_shortcut.js
/**  * Create a third party shortcut  * @return{obj} shortcut Id  * */ async function createShortcut() {   // Get credentials and build service   // TODO (developer) - Use appropriate auth mechanism for your app    const {GoogleAuth} = require('google-auth-library');   const {google} = require('googleapis');    const auth = new GoogleAuth({     scopes: 'https://www.googleapis.com/auth/drive',   });   const service = google.drive({version: 'v3', auth});   const fileMetadata = {     name: 'Project plan',     mimeType: 'application/vnd.google-apps.drive-sdk',   };    try {     const file = await service.files.create({       requestBody: fileMetadata,       fields: 'id',     });     console.log('File Id:', file.data.id);     return file.data.id;   } catch (err) {     // TODO(developer) - Handle error     throw err;   } }

วิธีการทำงานของทางลัดของบุคคลที่สาม

เมื่อสร้างทางลัดของบุคคลที่สามโดยใช้เมธอด files.create ระบบจะใช้คำขอ POST เพื่อแทรกข้อมูลเมตาและสร้างทางลัดไปยังเนื้อหาของแอป

POST https://www.googleapis.com/drive/v3/files Authorization: AUTHORIZATION_HEADER  {   "title": "FILE_TITLE",   "mimeType": "application/vnd.google-apps.drive-sdk" } 

เมื่อคลิกทางลัดของบุคคลที่สาม ระบบจะเปลี่ยนเส้นทางผู้ใช้ไปยังเว็บไซต์ภายนอก ที่จัดเก็บไฟล์ รหัสไฟล์ในไดรฟ์อยู่ในพารามิเตอร์ state ดูข้อมูลเพิ่มเติมได้ที่จัดการ URL ที่เปิดสำหรับเอกสารเฉพาะแอป

จากนั้นแอปหรือเว็บไซต์ของบุคคลที่สามจะมีหน้าที่จับคู่รหัสไฟล์ในพารามิเตอร์ state กับเนื้อหาที่อยู่ในระบบของตน

เพิ่มภาพปกวิดีโอที่ทำเองและข้อความที่ Google จัดทำดัชนีได้

หากต้องการเพิ่มโอกาสในการค้นพบไฟล์ที่เชื่อมโยงกับทางลัดของบุคคลที่สาม คุณสามารถอัปโหลดทั้งรูปภาพขนาดย่อและข้อความที่ทำดัชนีได้เมื่อแทรกหรือ แก้ไขข้อมูลเมตาของไฟล์ ดูข้อมูลเพิ่มเติมได้ที่หัวข้อจัดการข้อมูลเมตาของไฟล์