เมื่อผู้ใช้เลือกไฟล์และคลิกรายการในเมนู "เปิดด้วย" ของ UI ของไดรฟ์ ไดรฟ์จะเปลี่ยนเส้นทางผู้ใช้ไปยัง URL แบบเปิดของแอปที่กำหนดไว้ในกำหนดค่าการผสานรวม UI ของไดรฟ์
หากเลือกช่อง "การนำเข้า" เมื่อกำหนดค่าการผสานรวม UI ของไดรฟ์ ผู้ใช้จะเลือกไฟล์เฉพาะแอปและ Google Workspace เพื่อเปิดได้ เมื่อคุณกำหนดค่าการผสานรวม UI ของไดรฟ์ ระบบจะกำหนดไฟล์เฉพาะแอปไว้ในช่อง "ประเภท MIME เริ่มต้น" และ "นามสกุลไฟล์เริ่มต้น" ในขณะที่ไฟล์ Google Workspace จะกำหนดไว้ในช่อง "ประเภท MIME รอง" และ "นามสกุลไฟล์รอง"
ไดรฟ์จะตรวจสอบประเภท MIME กับประเภท MIME เริ่มต้นและรองที่คุณกำหนดไว้สำหรับแต่ละไฟล์ที่ผู้ใช้ต้องการเปิด
สำหรับประเภท MIME ที่กำหนดในช่อง "ประเภท MIME เริ่มต้น" ระบบจะส่งรหัสไฟล์ไปยังแอปของคุณ ดูข้อมูลเกี่ยวกับวิธีจัดการไฟล์เฉพาะแอปได้ที่จัดการ URL แบบเปิดสำหรับเอกสารเฉพาะแอป
สำหรับประเภท MIME ที่กำหนดในช่อง "ประเภท MIME รอง" UI ของไดรฟ์จะแสดงกล่องโต้ตอบที่ถามผู้ใช้ว่าจะแปลงไฟล์ Google Workspace เป็นประเภทใด ตัวอย่างเช่น หากคุณเลือกไฟล์ Google เอกสารใน UI ของไดรฟ์ และช่อง "ประเภท MIME รอง" แนะนำให้แอปรองรับข้อความ/ข้อความธรรมดา หรือแอปพลิเคชัน/PDF UI ของไดรฟ์จะถามผู้ใช้ว่าต้องการแปลงเป็นข้อความธรรมดา หรือ PDF
โปรดดูข้อมูลเกี่ยวกับวิธีจัดการไฟล์ Google Workspace ที่หัวข้อจัดการ URL ที่เปิดอยู่สำหรับเอกสาร Google Workspace โปรดดูรายการเอกสารของ Google Workspace และรูปแบบการแปลงประเภท MIME ที่หัวข้อส่งออกประเภท MIME สำหรับเอกสาร Google Workspace
จัดการ URL แบบเปิดสำหรับเอกสารเฉพาะแอป
ดังที่กล่าวไว้ในกำหนดค่าการผสานรวม UI ของไดรฟ์ แอปจะได้รับตัวแปรเทมเพลตพร้อมข้อมูลเพื่อให้แอปเปิดไฟล์ แอปจะได้รับชุดตัวแปรเทมเพลตเริ่มต้นภายในพารามิเตอร์ state
ข้อมูล state
เริ่มต้นของ URL สำหรับเปิดที่เจาะจงแอปคือ
{
"ids": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
เอาต์พุตนี้มีค่าต่อไปนี้
- ID: รหัสของโฟลเดอร์หลัก
- RESOURCE_KEYS: พจนานุกรม JSON ของรหัสไฟล์ที่แมปกับคีย์ทรัพยากรที่เกี่ยวข้อง
open
: การดำเนินการที่กำลังดำเนินการ ค่าจะเป็นopen
เมื่อใช้ URL แบบเปิด- USER_ID: รหัสโปรไฟล์ที่ระบุตัวผู้ใช้ได้อย่างไม่ซ้ำกัน
แอปของคุณต้องดําเนินการตามคําขอนี้โดยทําตามขั้นตอนต่อไปนี้
- ยืนยันว่าช่อง
action
มีค่าเป็นopen
และมีช่องids
อยู่ - ใช้ค่า
userId
เพื่อสร้างเซสชันใหม่ให้กับผู้ใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับผู้ใช้ที่ลงชื่อเข้าใช้ได้ที่ผู้ใช้และกิจกรรมใหม่ - ใช้เมธอด
files.get
เพื่อตรวจสอบสิทธิ์ ดึงข้อมูลเมตาของไฟล์ และดาวน์โหลดเนื้อหาไฟล์โดยใช้ค่าID
- หากมีการตั้งค่า
resourceKeys
ในคำขอ ให้ตั้งค่าส่วนหัวของคำขอX-Goog-Drive-Resource-Keys
ดูข้อมูลเพิ่มเติมเกี่ยวกับคีย์ทรัพยากรได้ที่เข้าถึงไฟล์ที่แชร์ลิงก์ด้วยคีย์ทรัพยากร
พารามิเตอร์ state
มีการเข้ารหัส URL แอปของคุณจึงต้องจัดการอักขระหลีกและแยกวิเคราะห์เป็น JSON
จัดการ URL แบบเปิดสำหรับเอกสาร Google Workspace
ตามที่ได้กล่าวไว้ในกำหนดค่าการผสานรวม UI ของไดรฟ์ แอปจะได้รับชุดตัวแปรเทมเพลตเริ่มต้นภายในพารามิเตอร์ state
ข้อมูล state
เริ่มต้นสำหรับ URL แบบเปิดของ Google Workspace คือ
{
"exportIds": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
เอาต์พุตนี้มีค่าต่อไปนี้
- EXPORT_ID: รายการรหัสไฟล์ที่ส่งออกซึ่งคั่นด้วยคอมมา (ใช้เมื่อเปิดเอกสาร Google ในตัวเท่านั้น)
- RESOURCE_KEYS: พจนานุกรม JSON ของรหัสไฟล์ที่แมปกับคีย์ทรัพยากรที่เกี่ยวข้อง
open
: การดำเนินการที่กำลังดำเนินการ ค่าจะเป็นopen
เมื่อใช้ URL แบบเปิด- USER_ID: รหัสโปรไฟล์ที่ระบุผู้ใช้
แอปของคุณต้องดําเนินการตามคําขอนี้โดยทําตามขั้นตอนต่อไปนี้
ยืนยันว่านี่เป็นคำขอเปิดไฟล์โดยตรวจหาทั้งค่า
open
ในช่องstate
และการมีอยู่ของช่องexportIds
ใช้เมธอด
files.get
เพื่อตรวจสอบสิทธิ์ ดึงข้อมูลเมตาของไฟล์ และระบุประเภท MIME โดยใช้ค่าEXPORT_ID
แปลงเนื้อหาไฟล์โดยใช้เมธอด
files.export
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีส่งออกเอกสารใน Google Workspace ไปยังประเภท MIME ที่ขอหากมีการตั้งค่า
resourceKey
ในคำขอ ให้ตั้งค่าส่วนหัวของคำขอX-Goog-Drive-Resource-Keys
ดูข้อมูลเพิ่มเติมเกี่ยวกับคีย์ทรัพยากรได้ที่เข้าถึงไฟล์ที่แชร์ลิงก์ด้วยคีย์ทรัพยากรJava
Python
Node.js
PHP
แสดงไฟล์ที่แปลงแล้วเป็นแบบอ่านอย่างเดียวหรือนำเสนอกล่องโต้ตอบที่ให้ผู้ใช้บันทึกไฟล์เป็นไฟล์ประเภทใหม่
พารามิเตอร์ state
มีการเข้ารหัส URL แอปของคุณจึงต้องจัดการอักขระหลีกและแยกวิเคราะห์เป็น JSON
ผู้ใช้และกิจกรรมใหม่
แอปไดรฟ์ควรถือว่าเหตุการณ์ "เปิดด้วย" ทั้งหมดเป็นการลงชื่อเข้าใช้ที่อาจเกิดขึ้น ผู้ใช้บางรายอาจมีหลายบัญชี ดังนั้นรหัสผู้ใช้ในพารามิเตอร์ state
อาจไม่ตรงกับเซสชันปัจจุบัน หากรหัสผู้ใช้ในพารามิเตอร์ state
ไม่ตรงกับเซสชันปัจจุบัน ให้สิ้นสุดเซสชันปัจจุบันของแอปแล้วลงชื่อเข้าใช้ในฐานะผู้ใช้ที่ขอ
หัวข้อที่เกี่ยวข้อง
นอกจากการเปิดแอปพลิเคชันจาก UI ของ Google ไดรฟ์แล้ว แอปพลิเคชันยังสามารถแสดงเครื่องมือเลือกไฟล์เพื่อเลือกเนื้อหาจากภายในแอปได้อีกด้วย สำหรับข้อมูลเพิ่มเติม โปรดดูที่ Google Picker