ฉันสงสัยว่ามันเป็นไปได้ในการเข้าถึง / แสดงไฟล์เช่นภาพที่เก็บไว้ใน Google Drive บนเว็บไซต์สาธารณะ
ฉันสงสัยว่ามันเป็นไปได้ในการเข้าถึง / แสดงไฟล์เช่นภาพที่เก็บไว้ใน Google Drive บนเว็บไซต์สาธารณะ
คำตอบ:
วิธีแก้ปัญหาคือการได้รับfileId
ด้วยGoogle Drive SDK API
แล้วใช้สิ่งนี้Url
:
https://drive.google.com/uc?export=view&id= {fileId}
นั่นจะเป็นลิงก์ถาวรไปยังไฟล์ของคุณใน Google Drive (รูปภาพหรือสิ่งอื่นใด)
หมายเหตุ: ลิงค์นี้จะต้องมีโควต้า ดังนั้นจึงไม่เหมาะสำหรับการแบ่งปันแบบสาธารณะ / ขนาดใหญ่
อัปเดต: ตามที่ได้ประกาศไว้ Google เลิกใช้ฟีเจอร์นี้ในเดือนสิงหาคม 2559 นี่คือการอัปเดตครั้งสุดท้ายจาก Googleพร้อมทางเลือกอื่น
ใช่มันเป็นไปได้ โดยที่คุณใส่ไฟล์ของคุณในโฟลเดอร์สาธารณะคุณสามารถรับไฟล์ใด ๆ ในโฟลเดอร์ด้วย URL นี้:
https://googledrive.com/host/<folderID>/<filename>
นี่คือลิงค์มุมมองง่าย ๆ :
https://drive.google.com/uc?id=FILE_ID
เช่นhttps://drive.google.com/uc?id=0B9o1MNFt5ld1N3k1cm9tVnZxQjg
คุณสามารถทำเช่นเดียวกันสำหรับไฟล์ประเภทอื่นเช่น MP3, PDF และอื่น ๆ
https://drive.google.com/file/d/2B8NbrE732XHNLThjZWZzMMVCDeVFpLVVXUkFjT3h2Qloweslz/edit?usp=sharing
กลายเป็น https://drive.google.com/uc?id=2B8NbrE732XHNLThjZWZzMMVCDeVFpLVVXUkFjT3h2Qloweslz
)
data.response.webContentLink
ของไดรฟ์เมื่อจบการอัปโหลดไฟล์ที่มีการเชื่อมโยงนี้ในข้อความการตอบสนอง: นี้จะมี&export=download
ในตอนท้ายซึ่งเพิ่งจะต้องถูกตัดออก
นี่คือวิธีจาก @ https://productforums.google.com/forum/#!topic/drive/yU_yF9SI_z0/discussion
1- อัปโหลดภาพของคุณ
2- คลิกขวาแล้วเลือก "รับลิงก์ที่แชร์ได้"
3- คัดลอกลิงค์ที่ควรมีลักษณะ
4 เปลี่ยนopen?
ไปuc?
และใช้มันเหมือน
<img src="https://drive.google.com/uc?id=xxxxx">
http:
หรือhttps:
เมื่ออ้างอิงอะไรจากเว็บเพื่อหลีกเลี่ยงปัญหาใด ๆ กับเซิร์ฟเวอร์ของคุณdrive.google.com
อย่างไร?
อัปเดต: ตามที่ได้ประกาศไว้ Google เลิกใช้ฟีเจอร์นี้ในเดือนสิงหาคม 2559 นี่คือการอัปเดตครั้งสุดท้ายจาก Googleพร้อมทางเลือกอื่น
ตามเมษายน 2013 และการใช้ Chrome / webkit สิ่งต่อไปนี้ใช้ได้สำหรับฉัน:
https://googledrive.com/...
ข้อ จำกัด อย่างหนึ่งก็คือเท่าที่ HTTP ดำเนินการไปเท่านั้นการเข้าถึง HTTP ที่ปลอดภัยนั้นเป็นไปได้
ปรับปรุง:
ข้อ จำกัด ก็คือว่าไฟล์ที่ Google ไดรฟ์สามารถเปิดจะไม่สามารถเข้าถึงวิธีการที่
นั่นคือการคลิกที่ " รายละเอียด " จะไม่แสดง URL ของ Google ไดรฟ์
เพื่อเอาชนะสิ่งนี้:
หมายเหตุ:อีกทางเลือกหนึ่งของขั้นตอนข้างต้นกำลังอัปโหลดไฟล์ที่มีนามสกุลที่ Google Drive ไม่สามารถเปิด / ไม่เชื่อมโยงได้
หากคุณต้องการดูไฟล์ในเบราว์เซอร์ก็อาจเป็นไปได้โดยใช้วิธีที่คล้ายกับไฟล์ที่จัดหาโดย rufo และ Torxed:
https://drive.google.com/uc?export=view&id={fileId}
ฉันคิดว่ามันเป็นไปได้ แต่เพียงช่วงเวลาสั้น ๆ
สิ่งที่คุณต้องทำคือตั้งค่ารายการควบคุมการเข้าถึงของไฟล์เป็นสาธารณะอ่านอย่างเดียว (หรืออ่าน / เขียนสาธารณะ) คุณสามารถทำได้โดยทางโปรแกรมโดยใช้Google Document List APIหรือด้วยตนเองผ่านปุ่ม "แบ่งปัน" บนโปรแกรมดูภาพไดรฟ์
จากนั้นคุณสามารถรับ URL ไปยังรูปภาพโดยทางโปรแกรมโดยใช้ Google Document List API หรือใช้Google Drive API (เช่นfile.getDownloadUrl ()ใน Java) นอกจากนี้คุณยังสามารถรับลิงค์ไปยังรูปภาพได้อย่างง่ายดายด้วยการคลิกขวาที่ภาพในมุมมองภาพเริ่มต้นของ Google ไดรฟ์
ปัญหาคือลิงค์นี้มีเวลา จำกัด ดังนั้นมันจึงใช้งานได้สักพักแล้วก็หยุดทำงาน
โดยทั่วไปแล้ว URL ของไฟล์รูปภาพที่จัดเก็บในไดรฟ์ควรจะสามารถเข้าถึงได้โดยไม่ต้องมีการตรวจสอบสิทธิ์เมื่อมีการตั้งค่าการแชร์แบบสาธารณะ แต่ URL นั้นจะเปลี่ยนแปลงไปในบางจุด เราอาจหาวิธีแก้ไขปัญหานี้ในอนาคตเช่นระบุ URL ถาวรที่จะเปลี่ยนเส้นทางไปยัง URL ที่เปลี่ยนแปลง แต่ไม่มีสัญญา ...
จากหน้าความช่วยเหลือของ Google ไดรฟ์ :
ในการโฮสต์เว็บเพจด้วยไดรฟ์:
- เปิด Drive ที่ drive.google.com แล้วเลือกไฟล์
- คลิกปุ่มแบ่งปันที่ด้านบนของหน้า
- คลิกขั้นสูงที่มุมล่างขวาของกล่องแชร์
- คลิกเปลี่ยน ....
- เลือกเปิด - สาธารณะบนเว็บและคลิกบันทึก
- ก่อนปิดกล่องแชร์ให้คัดลอก ID เอกสารจาก URL ในฟิลด์ด้านล่าง "ลิงก์เพื่อแชร์" ID เอกสารคือสตริงของตัวอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็กและตัวเลขระหว่างเครื่องหมายทับใน URL
- แบ่งปัน URL ที่ดูเหมือนว่า "www.googledrive.com/host/ [รหัส id] ที่ซึ่ง [doc id] ถูกแทนที่ด้วย ID เอกสารที่คุณคัดลอกในขั้นตอนที่ 6
ขณะนี้ทุกคนสามารถดูเว็บเพจของคุณได้
ผู้ใช้ก่อนหน้านี้บางคนปิดตัวลง แต่ไม่มีขั้นตอนที่นี่หรือที่นั่น
นี่คือวิดีโอที่แสดงขั้นตอนทั้งหมด
(แก้ไข 2-Dec-14
ข้อมูลด้านล่างไม่ถูกต้องเมื่อมาถึง Google ไดรฟ์ใหม่สำหรับ Google ไดรฟ์ใหม่ทำตามคำแนะนำเหล่านี้
มีสองตัวเลือกที่คุณสามารถใช้
ตัวเลือกที่ 1 คุณสามารถคลิกฟันเฟืองที่ด้านบนขวาและ เปลี่ยนกลับเป็นไดรฟ์ google เก่าหากคุณย้อนกลับให้ใช้คำแนะนำหลังจาก "สิ้นสุดการแก้ไข)"
ตัวเลือก 2 หรือคุณสามารถติดตามการทำงานที่ฉันพบ หากฉันพบวิธีที่ดีกว่านี้ฉันจะอัปเดต แต่นี่คือสิ่งที่ฉันได้พบว่าใช้งานได้
ลิงก์แบบเต็มจะมีลักษณะเช่นนี้ " https://googledrive.com/host/(folder id)
ส่วนหนึ่งของลิงก์ที่คุณต้องการคือ" https://googledrive.com/host/ "สำหรับครึ่งหลังคุณจะต้อง เพื่อนำทางไปยังไฟล์ที่คุณต้องการแชร์
เมื่อคุณอยู่ในโฟลเดอร์ที่มีไฟล์ที่คุณต้องการแชร์ให้ดูที่ลิงก์ด้านบน
(ตัวอย่างที่ 1 https://drive.google.com/drive/u/0/ # folder / 0B3UALYkiLexYSXZlcldoU2NpYXM )
(ตัวอย่าง 2 https://drive.google.com/drive/u/0/#folders/0B3UALYkiLexYSXZlcldoU2NpYXM/0B3UALYkiLexYSXZlcldoU2NpYXM )
ในทั้งสองตัวอย่างข้างต้นเหล่านี้ "รหัสโฟลเดอร์" คุณต้องการสำหรับการใช้งานร่วมกันเป็นกลุ่มสุดท้ายของตัวอักษรและตัวเลขหลังจากที่ "/" ดังนั้นในตัวอย่างหนึ่งก็คือ "0B3UALYkiLexYSXZlcldoU2NpYXM" ในตัวอย่างสองมันคือ "0B3UALYkiLexYRkNnOVhsUVozRU0"
ในตัวอย่าง ฉันใช้ตัวอย่างที่ 1 เป็นโฟลเดอร์ในไดรฟ์ของฉันและตัวอย่างที่ 2 เป็นโฟลเดอร์ที่อยู่ในไดรฟ์แรกนั่นคือสาเหตุที่มันมีลิงก์แรกทั้งหมดก่อนที่สอง
เราต้องการเฉพาะส่วนหลัง "/" ที่อยู่ไกลสุดไปทางขวา
ดังนั้นตอนนี้คุณมี "ID โฟลเดอร์" ของคุณใช้สูตรข้างต้น " https://googledrive.com/host/(folder id)"
ตัวอย่างที่ 1 https://googledrive.com/host/0B3UALYkiLexYSXZlcldoU2NpYXM
ตัวอย่างที่ 2 https: // googledrive.com/host/0B3UALYkiLexYRkNnOVhsUVozRU0
เยี่ยมมากตอนนี้คุณมีลิงค์นี้เปิดมันในหน้าใหม่ มันจะนำคุณไปยังโฟลเดอร์ที่แชร์ เมื่อมีคุณสามารถคลิกขวาที่ไฟล์ใดก็ได้และเลือก "คัดลอกที่อยู่ลิงค์" หรือคุณสามารถคลิกไฟล์ใด ๆ ในโฟลเดอร์นั้นและมันจะพาคุณไปยังภาพที่โฮสต์ URL ที่ด้านบนของหน้าเป็น URL ที่โฮสต์
นั่นคือวิธีที่คุณทำ มันค่อนข้างน่ารำคาญและโดยส่วนตัวดูเหมือนจะง่ายกว่ามากที่จะเปลี่ยนกลับเป็น google ไดรฟ์เก่า
ฉันจะพยายามสร้างวิดีโอแนะนำใหม่โดยเร็ว
แจ้งให้เราทราบหากสิ่งนี้ไม่ได้ผลสำหรับคุณและปัญหาที่คุณประสบ
สิ้นสุดการแก้ไข)
https://www.youtube.com/watch?v=QmN22LMPdDk&feature=youtu.be
หรือคุณสามารถติดตามคนที่เขียนด้านล่าง
รูปภาพเหล่านี้ไปกับรูปภาพที่แสดงในขั้นตอน
https://googledrive.com/host/0B3UALYkiLexYSXZlcldoU2NpYXM/
สร้างโฟลเดอร์บน Google ไดรฟ์ที่คุณต้องการใช้เพื่อแชร์รูปภาพ
เลือกโฟลเดอร์นั้นและไปที่ตัวเลือกการแชร์ เปลี่ยนตัวเลือก "ใครมีสิทธิ์เข้าถึง" จาก "บุคคลเฉพาะ" เป็น "สาธารณะบนเว็บ" รูปภาพทั้งหมดที่อยู่ในโฟลเดอร์จะมีลิงค์โฮสต์ซึ่งแสดงในขั้นตอนที่ 4
(ภาพ: เปลี่ยนโฟลเดอร์ Option.png , เปลี่ยนโฟลเดอร์ 2.png ตัวเลือกและเปลี่ยนโฟลเดอร์ 3.png ตัวเลือก )
วางภาพในโฟลเดอร์นั้น
เลือกภาพที่คุณต้องการแบ่งปันและดูที่ส่วนรายละเอียด (โดยปกติจะอยู่ทางด้านขวามือ) สำหรับส่วนที่มีชื่อว่า "โฮสติ้ง" คุณควรพบลิงค์ที่ขึ้นต้นด้วย
"googledrive.com/host/( สุ่มตัวเลขและตัวเลขที่เป็น ID สำหรับโฟลเดอร์นั้น) / (ชื่อไฟล์)"
ใช้ลิงค์นั้นเพื่อแบ่งปันภาพของคุณ คุณสามารถใช้ลิงก์นั้นเพื่อฝังไว้ในเว็บไซต์อื่น ๆ
(รูปภาพ: เปลี่ยนตัวเลือกโฟลเดอร์ 4.pngและเปลี่ยนตัวเลือกโฟลเดอร์ share.png )
แก้ไข: ตั้งแต่ปี 2020 สิ่งนี้ใช้งานได้ คำตอบก่อนหน้าส่วนใหญ่ล้าสมัยแล้ว
สิ่งที่คุณต้องทำคือเปิดไฟล์ของคุณ:
จากนั้นไปที่สารวัตรเว็บของคุณ (สำหรับ Chrome Cmd-Shift-I
หรือCtrl-Shift-I
ขึ้นอยู่กับระบบปฏิบัติการของคุณ) และรับลิงค์ ทำ!
Vetea ถ้าคุณใช้ลิงค์จาก URL รูปภาพมันจะไม่ทำงาน แต่ถ้าคุณนำลิงค์จากลิงค์ "Direct Link" ไปใช้งานได้ ฉันใช้และทดสอบมันหลายครั้ง
โซลูชันที่ Niutech จัดทำขึ้นสำหรับฉันเช่น
http://googledrive.com/host/<folderID>/<filename>
แต่มีประเด็นเด่น 2 ประเด็น
คุณไม่สามารถมี 2 ไฟล์ที่มีชื่อเดียวกันในโฟลเดอร์เดียวกันในไดรฟ์อื่นลิงก์นี้จะไม่ทำงาน
ยังไม่ชัดเจน แต่ดูเหมือนว่า Google กำลังวางแผนที่จะยกเลิกการโฮสต์รูปภาพผ่านไดรฟ์ โปรดดูลิงค์ด้านล่าง https://support.google.com/richmedia/answer/6098968?hl=en
เฉพาะสำหรับผู้ใช้ G-Suite ตามที่รายงานในจุดที่ 3 ที่นี่คุณสามารถใช้ URL นี้สำหรับการโฮสต์รูปภาพ
https://drive.google.com/a/domain.com/thumbnail?id=imageID
ด้วยการเปลี่ยนดังต่อไปนี้
domain
: แทนที่ด้วยโดเมน GSuite ของ บริษัท เช่น pikachu
imageID
: แทนที่ด้วยรหัสรูปภาพ / ไฟล์ idสิ่งที่จำเป็นต้องมีในที่นี้คือรูปภาพควรถูกแชร์ผ่านไดรฟ์ไปยังผู้ชมเป้าหมาย
หากคุณประสบปัญหากับขนาดของภาพที่แสดงผลให้ใช้ตัวเลือกต่อไปนี้ตามที่ระบุไว้ที่นี่
https://drive.google.com/a/domain.com/thumbnail?id=imageID&sz=w{width}-h{height}
ด้วยการเปลี่ยนดังต่อไปนี้ (นอกเหนือจากdomain
และการimageID
เปลี่ยน)
{width}
: เขียนความกว้างเป็นพิกเซล (ไม่มีเครื่องหมายวงเล็บ) เหมือน 300
{height}
: เขียนความสูงเป็นพิกเซล (ไม่รวมเครื่องหมายปีกกา) เช่น 200
มีตัวเลือกประเภทไฟล์ใน Google Drive API คุณสามารถตรวจสอบว่าสามารถแก้ไขภาพที่ถูกต้องได้หรือไม่ ฉันจะดูตัวเลือกว่าหากไฟล์ประเภทใดให้ภาพที่ไม่ถูกต้องแก่ฉันจากนั้นรับ URL โดยตรงใหม่สำหรับไฟล์ ฉันไม่ได้คิดอย่างชัดเจนว่าจะทำอย่างไร แต่อาจเป็นเส้นทางที่จะลอง
คุณสามารถทำได้โดยตรงจากไดรฟ์และ Gmail นี่คือวิธี:
1. อัปโหลดรูปภาพไปยัง Google ไดรฟ์และตั้งค่าการอนุญาตสำหรับการดู (สามารถเป็นสาธารณะหรือใครก็ได้ที่มีลิงก์)
ไปที่ Gmail> เขียน เลือกไอคอน + ถัดจากไฟล์แนบ
เลือกไอคอนไดรฟ์ (รูปสามเหลี่ยม)
ไปที่รูปภาพของคุณและคลิกขวาที่คัดลอก URL รูปภาพ
วางในเว็บเบราว์เซอร์หรือฝังบนหน้าเว็บตามต้องการ
1. เปลี่ยนการตั้งค่ารูปภาพของคุณสู่สาธารณะ
2. รับลิงค์ที่แชร์ได้
3. ไปที่เว็บไซต์นี้และสร้างลิงค์ดาวน์โหลดโดยตรง
ทำงานให้ฉัน!
นักโทษสามารถปิดการใช้งานจาวาสคริปต์ในเบราว์เซอร์ของคุณเปิดไฟล์ภาพและในแหล่งที่มาดูหน้าหรือคลิกขวาที่ภาพคุณจะเห็นลิงค์ภาพ (ตรวจสอบการตั้งค่าการแชร์ก่อน)
สำหรับรูปภาพให้เปิดภาพใน Google Viewer กล่าวคือ
https://docs.google.com/file/d/0Bz7qe_olclTwWDNJRDRmb1pJamM/edit
จากนั้นดูซอร์ส> ค้นหาคำว่า "texmex-thumb" และด้านข้างจะมีลิงก์
goobox()
จะใช้ URL ของไฟล์ภาพของคุณและเปลี่ยนเป็นไฟล์ภาพโดยตรงcconst goobox = (url)=>{
let dropbox_regex = /(http(s)*:\/\/)*(www\.)*(dropbox.com)/;
let drive_regex =/(http(s)*:\/\/)*(www\.)*(drive.google.com\/file\/d\/)/;
if(url.match(dropbox_regex)){
return url.replace(/(http(s)*:\/\/)*(www\.)*/, "https://dl.");
}
if(url.match(drive_regex)){
return `https://drive.google.com/uc?id=${url.replace(drive_regex, "").match(/[\w]*\//)[0].replace(/\//,"")}`;
}
return console.error('Wrong URL, not a vlid drobox or google drive url');
}
let url = 'https://drive.google.com/file/d/1PiCWHIwyQWrn4YxatPZDkB8EfegRIkIV/view'
goobox(URL); // https://drive.google.com/uc?id=1PiCWHIwyQWrn4YxatPZDkB8EfegRIkIV
อย่างไรก็ตามคำตอบนี้ง่าย infact ง่ายมากและหลายคนได้กล่าวว่าเพียงใส่รหัสของภาพลงในลิงค์ต่อไปนี้https://drive.google.com/uc?export=view&id= {fileId}
แต่สิ่งที่ง่ายคือฉันสร้างสคริปต์ให้ทำงานในคอนโซล ฟีดในชุดของลิงก์ที่สามารถแชร์ได้อย่างสมบูรณ์จาก Google ไดรฟ์และแปลงเป็นลิงก์ด้านบน จากนั้นสามารถใช้เป็นที่อยู่แบบคงที่ได้
array = ['https://drive.google.com/open?id=0B8kNn6zsgGEtUE5FaGNtcEthNWc','https://drive.google.com/open?id=0B8kNn6zsgGEtM2traVppYkhsV2s','https://drive.google.com/open?id=0B8kNn6zsgGEtNHgzT2x0MThJUlE']
function separateDriveImageId(arr) {
for (n=0;n<arr.length;n++){
str = arr[n]
for(i=0;i<str.length;i++){
if( str.charAt(i)== '=' ){
var num = i+1;
var extrctdStrng = str.substr(num)
}
}
console.log('https://drive.google.com/uc?export=view&id='+extrctdStrng)
window.open('https://drive.google.com/uc?export=view&id='+extrctdStrng,'_blank')
}
}
separateDriveImageId(array)