דרייב | לשלוח קבצים שיירדו מיד - בלי הדף של "ההורדה" (גם קבצים גדולים)
-
@MERS אני כתבתי כאן פעם שבמציאות רחוקה מאוד, יכול להיות שיצליח איזה משועמם לשאוב לך מידע מהדרייב.
אבל במקרה שלנו - זה API שלי, על חשבון גוגל שלי (שלא איכפת לי שיפרצו אליו ויעשו בו מה שבא, אין בו שום דבר חשוב..) אז זה לא יכול לסכן אף אחד (גם אם חוששים לכזה דבר, שתכלס זה 'אין לדבר סוף') -
@chv אמר בדרייב | לשלוח קבצים שיירדו מיד - בלי הדף של "ההורדה" (גם קבצים גדולים):
@MERS אני כתבתי כאן פעם שבמציאות רחוקה מאוד, יכול להיות שיצליח איזה משועמם לשאוב לך מידע מהדרייב.
אבל במקרה שלנו - זה API שלי, על חשבון גוגל שלי (שלא איכפת לי שיפרצו אליו ויעשו בו מה שבא, אין בו שום דבר חשוב..) אז זה לא יכול לסכן אף אחד (גם אם חוששים לכזה דבר, שתכלס זה 'אין לדבר סוף')אם אני מבין אותך נכון האתר הנ"ל בעצם משתף את הקישור עם הדרייב שלך ויוצר לו קישור- ואף שאפשר לפרוץ אין לך בעיה מכיון שזה ריק- הבנתי נכון?
[א"כ נשאר רק לחפש משהו שיעלה מהר לדרייב] -
@MERS לא. לא זו הדרך ולא זו העיר.
פשוט עם API אתה יכול לבקש גישה ישירה לקבצים, לפי ID.
כאשר אתה יוצר קישור שיתוף (רגיל) בדרייב - מוקצה לקובץ הרצוי - ID.
כאשר תיקח את הID הזה ותשלב אותו בבקשה עם API - זה פשוט יביא לך את הקובץ.
תיראה את זה ככה: אתה משתמש בהרשאה שלי כדי לגשת לקבצים שלך.
אין שום העברת קבצים או משהו.כל מה שמתבצע באתר הנ"ל - זה שינוי טקסטואלי לחלוטין
לא יותר מזה. -
@chv אמר בדרייב | לשלוח קבצים שיירדו מיד - בלי הדף של "ההורדה" (גם קבצים גדולים):
@MERS לא. לא זו הדרך ולא זו העיר.
פשוט עם API אתה יכול לבקש גישה ישירה לקבצים, לפי ID.
כאשר אתה יוצר קישור שיתוף (רגיל) בדרייב - מוקצה לקובץ הרצוי - ID.
כאשר תיקח את הID הזה ותשלב אותו בבקשה עם API - זה פשוט יביא לך את הקובץ.
תיראה את זה ככה: אתה משתמש בהרשאה שלי כדי לגשת לקבצים שלך.
אין שום העברת קבצים או משהו.כל מה שמתבצע באתר הנ"ל - זה שינוי טקסטואלי לחלוטין
לא יותר מזה.זה לא דרך שיתוף לדרייב שלך- כי א"כ אז כל מי שיכו לפרוץ דרך API יכול גם דרך קישור רגיל לא?
-
@chv
קודם כל תודה!ניסיתי את כל התהליך שכתבת,
האתר שלך נקי ויפה (מזכיר את videownload.ml)
תכלס , 2 הערות,- הקובץ יורד למחשב בלחיצה על הקישור אבל השם שלו השתנה (לאוסף של אותיות מספרים ומקפים חסרי פשר) מה שמאוד מייתר את הצורך בכזה קישור, כי המטרה שלי בקישור ישיר להורדה, הוא שהשתמש הבלתי מחוכם יקבל את זה ישירות למחשב בלחיצת כפתור, וחלק מחוסר חכימותו הוא, שאני רוצה שהקובץ יוצג לו ב"הורדות" כשמו ושלא יתבלבל.
- במקרים מסוימים, (לא תמונות או שירים או סרטונים) הקובץ ירד ללא הסיומת הנצרכת (למשל ניסיתי עם קובץ בעל סיומת bxd, והוא ירד לי כקובץ ללא סיומת כלל)
-
@מטעמים תודה על התגובה..
הבעיות שאתה מזכיר זה אכן הבעיה במתודולוגיה הזו, לעבוד ככה עם הAPI.. אני ניסתי לחקור את העניין קצת ולפי מה שהבנתי אי אפשר, בדרך הבסיסית הזו - של עבודה עם קישור ישיר - לקבל את המטא-דטה של הקובץ (כגון שם, וסיומת וכו'. מה שיוצר לך סיומות בקבצים מוכרים - זה כנראה אוטומטי על ידי הדפדפן).
בדרך כלל הדרך שבה עובדים עם הAPI (ובשביל זה פיתחו אותו כמובן) זה בתיכנות, כשמשתמשים באיזו אינטגרציה עם דרייב, תמיד צריך את הAPI. ואם אתה עובד עם תוכנה, אתה יכול לדוגמא לפני ההורדה, לשלוח בקשה לקבל את המטא-דטא, לאחסן אותו במטמון, להוריד את הקובץ, להצמיד לו את המטא-דטא מהמטמון ולתת אותו ללקוח. אבל כיוון שלא ככה אנחנו עובדים - - זה לא אפשרי.אז אין פתרון. ככל הנראה.
נ.ב. הAPI הנוכחי - הוא API של גוגל דרייב V3. בגרסה 2 - היה מצבים מסוימים שהיה אפשר גם דרך קישור ישיר כמו שעושים כאן - אבל אני לא מוצא כרגע דרך לעבוד עם API מגרסה 2. מי שמצליח - יצור איתי קשר.
-
@chv יש דרך מאוד פשוטה להוציא את הקשור להורדה מיידית
שתפתח פעם אחד את הקישור הרגיל עד שתגיע לקישור שמוריד ישירות
תלחץ בעכבר בימין ותבחר 'בדוק'
ואז בצד ימין של המסך יופיע לך בכחול כתובת הקישור להורדה ישירה
או דרך יותר קצרה אם אפשר ללחוץ בעכבר בימין על הקישור שמוריד ישירות ולבחור 'העתק כתובת קישור'
ואז אפשר להדביק אותו היכן שרוצים , וזה הקישור להורדה ישירה. -
@13115-5864 זה לא יותר מהיר מהאופציה המצוינת ש @chv הביא
-
@לא-מייבין אמר בדרייב | לשלוח קבצים שיירדו מיד - בלי הדף של "ההורדה" (גם קבצים גדולים):
@shloimy השאלה היא האם באופציה של @13115-5864 יש את הבעיה שדיברו כאן מקודם, שהקובץ יורד בצורה שלא מזוהה איזה סוג קובץ זה.
זה אותו הורדה נורמלית כמו שאתה לוחץ על כפתור ההורדה בדרייב
-
@13115-5864 אמר בדרייב | לשלוח קבצים שיירדו מיד - בלי הדף של "ההורדה" (גם קבצים גדולים):
או דרך יותר קצרה אם אפשר ללחוץ בעכבר בימין על הקישור שמוריד ישירות ולבחור 'העתק כתובת קישור'
אי אפשר ללחוץ על מקש ימני בכפתור ההורדה בדרייב. לפחות לפי הניסיון שלי.
עריכה: נראה שהתכוונת להעתיק את כתובת הקישור אחרי שלוחצים על בדוק ולא לפני, כי אם לא לוחצים על בדוק אי אפשר לעשות העתק כתובת קישור, ממקש ההורדה. (אני עוד לא הצלחתי למצוא את הקישור בשיטה הנ"ל) -
@13115-5864 אמר בדרייב | לשלוח קבצים שיירדו מיד - בלי הדף של "ההורדה" (גם קבצים גדולים):
זה אותו הורדה נורמלית כמו שאתה לוחץ על כפתור ההורדה בדרייב
לא הבנתי. כשאתה מוריד קובץ, המכשיר מזהה באיזה סוג מדובר? או לא?
אם אתה יכול להביא כאן קישור להורדה ישירה מדרייב, שהוכן בצורה שכתבת זה יעזור מאוד. -
@liy אמר בדרייב | לשלוח קבצים שיירדו מיד - בלי הדף של "ההורדה" (גם קבצים גדולים):
@chv טיפלתי במה ש @מטעמים כתב.
וזה עובד כעת... תפנה אלי למייל admin@liys.tk ואשלח לך את הקוד המתוקןנשמע מסקרן,
תעדכנו אותנו... -
@chv תודה רבה על הכלי הנהדר הזה, אני משתמש בהורדת קבצים מדרייב באופן תכנותי באמצעות VBA ונתקלתי בבעיה בהורדת קבצים גדולים כיון שצריך ללחוץ על "הורד בכל זאת", והכלי הזה פתר לי את הבעיה. (אחרי שראיתי המון פורומים של VBA שדנים בבעיה הזו, ללא פתרון מוצלח).
לגבי מהירות ההורדה, עשיתי כמה בדיקות ובכולם התוצאה הייתה שהורדה דרך הקישור הזה לקחה שליש זמן לעומת הורדה רגילה מדרייב.
דרך אגב, כשאתה מוריד באמצעות VBA אתה יכול לשלוט בשם שהקובץ יקבל ובמיקום שבו הוא ישמר.
אני אשמח אם תוכל להרחיב לגבי איך להרכיב את ה-URL הזה, מה המשמעות של כל הפרמטרים, והאם ה-KEY הוא תמיד זהה.
תודה רבה -
@יעקב-טורק היי.
זה דיי פשוט.
כמו שכתבתי במקור - ה-URL שפונה ל-API של דרייב כולל את ה-ID של הקובץ, עם פרמטרים הבאים:alt
עם ערךmedia
זה בעצם גורם ל-API להחזיר כתשובת HTTP את הקובץ עצמו. בלי זה פשוט יוחזר תשובה אינפורמטיבית של ה-API עם קצת מטאדטה על הקובץ.key
עם ערך של מפתח ה-API שלך מגוגל.
כלומר URL טיפוסית ל-API דרייב לגישה לקובץ ישיר תהיה כזו - https://www.googleapis.com/drive/v3/files/{ID}?alt=media&key={KEY}
כתובת טיפוסית רגילה של קובץ דרייב היא כזו - https://drive.google.com/file/d/{ID}/view?usp=sharingלשאלתך
האם ה-KEY הוא תמיד זהה
לא לגמרי הבנתי כוונתך, ה-KEY הוא מפתח אישי שלך שזה בעצם מזהה (טוקן) שהוצאת מגוגל ומאפיין את הגישה שלך ל-API. זה 'תמיד זהה'? כנראה שככה תקרא לזה.
אכן אם אתה עובד עם קוד אתה כמובן יכול לבחור את היעד של הסטרים שאתה מקבל מה-API, שם קובץ וכדו'. לכן הייתי ממליץ לך כחלק מהפרוצדורה הנ"ל של הורדת הקובץ, להוסיף קריאה ל-API לקבל את המטאדטה של הקובץ ובין השאר את השם המקורי שלו - בגוגל דרייב- ובקובץ שיורד להגדיר את השם הזה (והסיומת).
עריכה להבהרה של התהליך: כפי שציינתי, קריאה ל-API בכתובת הזו בדיוק בלי הפרמטרalt=media
תחזיר לך תשובת JSON עם המטאדטה הנדרש (id, שם קובץ, מימטייפ - סוג קובץ. על פי זה אפשר לקבוע כמובן סיומת קובץ, או איך שזה לא עובד במנגנון הקבצים שבו אתה כותב). זה ממש פשוט! -
@צדיק-תמים אמר בדרייב | לשלוח קבצים שיירדו מיד - בלי הדף של "ההורדה" (גם קבצים גדולים):
@chv תוכל אולי להכניס את השיפור הזה באתר שלך?
או שזה לא אפשרי ליצור כזה קישור, אלא רק אם יש קוד שמוריד את הקובץאי אפשר לשלוט במסגרת המצומצמת של URL, בשם הקובץ שיירד.
וכיוון שההורדות מה-API של דרייב לא יורדות עם מטאדטה כברירת מחדל (מה שגורם לקובץ בתוצאה הסופית להיות תלוי במערכת ההפעלה שמורידה/התוכנה - שצריכות לנחש על פי מבנה הקובץ מה הסיומת שלו. ואין להם גם שום דרך לקבוע לו שם קובץ לפי המקור)
זה לא אפשרי באתר הנ"ל.אבל כן הכנסתי עכשיו פרוצדורה כמו שכתבתי לו למעלה - לקבל את שם הקובץ. זה עכשיו מקבל את שם הקובץ וכותב אותו בפופאפ של ה-URL החדשה שנוצרה עבור הורדה דרך ה-API.
תוכל לפתוח את האתר וליצור כתובת הורדה ישירה ולראות את זה.