Bestanden (bv. afbeeldingen) opgeslagen op Google Drive weergeven op een website

Ik vroeg me af of het mogelijk is om bestanden zoals afbeeldingen die zijn opgeslagen in Google Drive te openen/tonen op een publieke website.

Een workaround is om de fileId op te halen met Google Drive SDK API en dan deze Url te gebruiken:

https://drive.google.com/uc?export=view&id={fileId}

Dat zal een permanente link zijn naar uw bestand in Google Drive (afbeelding of iets anders).

Opmerking: deze link lijkt onderhevig te zijn aan quota. Dus niet ideaal voor openbaar/massaal delen.

Commentaren (10)

Ik denk dat het mogelijk is, maar slechts voor een korte tijd

Wat je moet doen is de Access Control List van het bestand instellen op Public Read-Only (of Public Read/Write). Je kunt dat programmatisch doen met de Google Document List API, of handmatig via de "Share" knop op de Drive image viewer.

Vervolgens kunt u de URL naar de afbeelding programmatisch opvragen door gebruik te maken van de Google Document List API of van de Google Drive API (d.w.z. file.getDownloadUrl() in Java). U kunt ook gemakkelijk handmatig een link naar de afbeelding krijgen door met de rechtermuisknop op de afbeelding te klikken in de standaardafbeeldingenviewer van Google Drive.

Het probleem is dat deze link een beperkte tijd te leven heeft, dus het zal werken voor een tijdje en dan stoppen met werken.

In principe zou de URL van het afbeeldingsbestand dat is opgeslagen in Drive toegankelijk moeten zijn zonder enige authenticatie als het eenmaal is ingesteld als publiekelijk gedeeld, maar die URL gaat op een gegeven moment veranderen. Misschien vinden we hier in de toekomst een oplossing voor zoals een permanente URL die doorverwijst naar deze veranderende URL, maar geen beloftes...

Commentaren (3)

Er is een filetype optie in de Google Drive API. Je zou, misschien, kunnen controleren of dat een geldige afbeelding oplevert. Ik'zou kijken naar een optie waar als het filetype een ongeldige afbeelding geeft, dan een nieuwe directe URL voor het bestand krijgt. Ik heb nog niet precies uitgezocht hoe ik dat moet doen, maar misschien is dat een manier om te proberen.

Commentaren (0)