เมื่อผู้ใช้เลือกไฟล์และคลิกรายการ "เปิดด้วย" ของ 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