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