เมื่อผู้ใช้เลือกไฟล์และคลิกรายการ "เปิดด้วย" ของ UI ไดรฟ์ ไดรฟ์จะเปลี่ยนเส้นทางผู้ใช้ไปยัง URL เปิดของแอปที่ระบุไว้ในการกําหนดค่าการผสานรวม UI ไดรฟ์
หากคุณเลือกช่อง "การนําเข้า" เมื่อกําหนดค่าการผสานรวม UI ของไดรฟ์ ผู้ใช้จะเลือกไฟล์ Google Workspace และไฟล์เฉพาะแอปเพื่อเปิดได้ เมื่อคุณกำหนดค่าการผสานรวม UI ของไดรฟ์ ระบบจะกำหนดไฟล์เฉพาะแอปในช่อง "ประเภท MIME เริ่มต้น" และ "นามสกุลไฟล์เริ่มต้น" ส่วนไฟล์ Google Workspace จะกำหนดในช่อง "ประเภท MIME รอง" และ "นามสกุลไฟล์รอง"
สำหรับไฟล์แต่ละไฟล์ที่ผู้ใช้ต้องการเปิด ไดรฟ์จะตรวจสอบประเภท MIME กับประเภท MIME เริ่มต้นและรองที่คุณกำหนดไว้ ดังนี้
สำหรับประเภท MIME ที่กําหนดไว้ในช่อง "ประเภท MIME เริ่มต้น" ระบบจะส่งรหัสไฟล์ไปยังแอปของคุณ ดูข้อมูลเกี่ยวกับวิธีจัดการไฟล์เฉพาะแอปได้ที่จัดการ URL เปิดสําหรับเอกสารเฉพาะแอป
สำหรับประเภท MIME ที่กําหนดในช่อง "ประเภท MIME รอง" UI ของไดรฟ์จะแสดงกล่องโต้ตอบที่ถามผู้ใช้ว่าต้องการแปลงไฟล์ Google Workspace เป็นประเภทไฟล์ใด เช่น หากเลือกไฟล์ Google เอกสารใน UI ของไดรฟ์ และช่อง "ประเภท MIME รอง" แนะนำว่าแอปของคุณรองรับ text/plain หรือ application/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
เมื่อใช้ 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
เมื่อใช้ 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