כשמשתמש בוחר קובץ ולוחץ על הפריט 'פתיחה באמצעות' בתפריט של ממשק המשתמש של Drive, מערכת Drive מפנה את המשתמש לכתובת ה-URL לפתיחה של האפליקציה הזו, שמוגדרת במאמר הגדרת שילוב של ממשק המשתמש של Drive.
אם סימנתם את התיבה 'ייבוא' כשקבעתם שילוב של ממשק משתמש של Drive, המשתמש יכול לבחור שילוב של קבצים ספציפיים לאפליקציה וקבצים של Google Workspace כדי לפתוח אותם. כשמגדירים שילוב של ממשק משתמש של Drive, קבצים ספציפיים לאפליקציה מוגדרים בשדות 'סוגי MIME שמוגדרים כברירת מחדל' ו'סיומות קבצים שמוגדרות כברירת מחדל', ואילו קבצים של Google Workspace מוגדרים בשדות 'סוגי MIME משניים' ו'סיומות קבצים משניות'.
עבור כל קובץ שהמשתמש רוצה לפתוח, Drive בודק את סוגי ה-MIME מול סוגי ה-MIME שמוגדרים כברירת מחדל וכמשניים:
עבור סוגי MIME שמוגדרים בשדה Default MIME types (סוגי MIME שמוגדרים כברירת מחדל), מזהה הקובץ מועבר לאפליקציה. למידע על טיפול בקבצים ספציפיים לאפליקציה, אפשר לעיין במאמר טיפול בכתובת URL לפתיחה של מסמכים ספציפיים לאפליקציה.
עבור סוגי MIME שמוגדרים בשדה 'סוגי MIME משניים', בממשק המשתמש של Drive מוצג דו-שיח שבו המשתמש נשאל לאיזה סוג קובץ להמיר את קובץ Google Workspace. לדוגמה, אם בוחרים קובץ Google Docs בממשק המשתמש של Drive והשדה Secondary MIME types (סוגי MIME משניים) מציין שהאפליקציה תומכת ב-text/plain או ב-application/pdf, ממשק המשתמש של Drive ישאל את המשתמש אם הוא רוצה להמיר ל-Plain Text (טקסט פשוט) או ל-PDF.
מידע על טיפול בקבצים ב-Google Workspace זמין במאמר טיפול בכתובת URL פתוחה למסמכי Google Workspace. רשימה של מסמכי Google Workspace ופורמטים להמרת סוגי MIME זמינה במאמר ייצוא סוגי MIME למסמכי Google Workspace.
טיפול בפתיחת כתובת URL למסמכים ספציפיים לאפליקציה
כמו שצוין במאמר הגדרת שילוב של ממשק משתמש של Drive, האפליקציה מקבלת משתני תבנית עם מידע שמאפשר לאפליקציה לפתוח את הקובץ. האפליקציה מקבלת קבוצת משתנים של תבנית שמוגדרת כברירת מחדל בפרמטר 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
כמו שצוין במאמר הגדרת שילוב של ממשק משתמש של Drive, האפליקציה מקבלת קבוצת ברירת מחדל של משתני תבנית בפרמטר 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
.ממירים את תוכן הקובץ באמצעות ה-method
files.export
. בדוגמת הקוד הבאה מוצג ייצוא של מסמך Google Workspace לסוג ה-MIME המבוקש.אם הכותרת
resourceKey
הוגדרה בבקשה, מגדירים את כותרת הבקשהX-Goog-Drive-Resource-Keys
. מידע נוסף על מפתחות משאבים זמין במאמר גישה לקבצים ששותפו באמצעות קישור באמצעות מפתחות משאבים.Java
Python
Node.js
PHP
הצגת הקבצים שהומרו כקריאה בלבד או הצגת תיבת דו-שיח שמאפשרת למשתמש לשמור את הקובץ כסוג הקובץ החדש.
הפרמטר state
מקודד בכתובת ה-URL, ולכן האפליקציה צריכה לטפל בתווי הבריחה ולנתח אותו כ-JSON.
משתמשים ואירועים חדשים
אפליקציות של Drive צריכות להתייחס לכל האירועים של 'פתיחה באמצעות' כאל כניסות פוטנציאליות. יכול להיות שלחלק מהמשתמשים יש כמה חשבונות, ולכן מזהה המשתמש בפרמטר state
לא תמיד תואם לסשן הנוכחי. אם מזהה המשתמש בפרמטר state
לא תואם לסשן הנוכחי, צריך לסיים את הסשן הנוכחי באפליקציה ולהיכנס בתור המשתמש המבוקש.
נושאים קשורים
בנוסף לפתיחת אפליקציה מממשק המשתמש של Google Drive, אפליקציות יכולות להציג כלי לבחירת קבצים כדי לבחור תוכן מתוך אפליקציה. מידע נוסף זמין במאמר בנושא כלי הבחירה של Google.