Exibindo arquivos (por exemplo, imagens) armazenados no Google Drive em um site


289

Eu queria saber se é possível acessar / exibir arquivos como imagens que são armazenadas no Google Drive em um site público.


4
Parece que o usuário que criou a pergunta nunca mais usou o SO, deixando-a sem resposta aceita (quando há pelo menos uma resposta válida). Os editores da comunidade podem corrigir isso?
Rufo 27/03

6
Parece que este está sendo preterido: Deprecating web hosting apoio no Google Drive
dumbledad

Aqui está a atualização final do Google em julho de 2016 com alternativas: gsuite-developers.googleblog.com/2016/07/…
wescpy

@wescpy , eu encontrei esta solução para trabalhar na minha conta do G-Suite
y2k-shubham

Respostas:


200

Uma solução alternativa é obter o fileIdcom Google Drive SDK APIe depois usar o seguinte Url:

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

Esse será um link permanente para seu arquivo no Google Drive (imagem ou qualquer outra coisa).

Nota: este link parece estar sujeito a cotas. Portanto, não é ideal para compartilhamento público / massivo.


No entanto, aparentemente este URL (pelo menos o "modo de exibição") só funciona quando o usuário que está visualizando o login no Google (Drive?). Em uma janela de navegação anônima, recebi uma página de login em vez da imagem (compartilhada publicamente) que solicitei.
scy

1
Veja meu comentário de 27 de março. Também para qualquer link com links, existem cotas que você não pode exceder.
Rufo

1
Isso funciona sem o uso de uma pasta pública. A imagem em si deve ser compartilhada como 'pública'. O fileId é mostrado - incorporado em uma URL - ao compartilhar o arquivo.
Jim Fred

4
Olá Rufo, você pode compartilhar informações sobre a cota, como quanta cota existe? A cota significa exibir largura de banda por mês? Existe um link sem cota? Estou à procura de compartilhamento público / em massa.
Noitidart 28/02

1
uma nota importante como @JimFred disse, o arquivo deve ser compartilhado como público
datdinhquoc

163

ATUALIZAÇÃO: como foi anunciado , o Google reprovou esse recurso em agosto de 2016. Aqui está a atualização final do Google com alternativas.

Sim é possivel. Desde que você coloque seus arquivos em uma pasta pública, você pode obter qualquer arquivo em uma pasta por este URL:

https://googledrive.com/host/<folderID>/<filename>

3
Dead link :( alguém tem um novo?
Rambatino

@LeoLuanElezi enquanto a sua edição estava correta, um resumo melhor da edição teria sido "removido um link morto".
Nissa

152

Aqui está o link de visualização simples:

https://drive.google.com/uc?id=FILE_ID

por exemplo, https://drive.google.com/uc?id=0B9o1MNFt5ld1N3k1cm9tVnZxQjg

Você pode fazer o mesmo com outros tipos de arquivo, como MP3, PDF, etc.


13
Funciona! (o link de compartilhamento https://drive.google.com/file/d/2B8NbrE732XHNLThjZWZzMMVCDeVFpLVVXUkFjT3h2Qloweslz/edit?usp=sharing se transformou https://drive.google.com/uc?id=2B8NbrE732XHNLThjZWZzMMVCDeVFpLVVXUkFjT3h2Qloweslz).
Cbh2000

Como paly arquivo de vídeo em videoview?
chiru

API da unidade ao terminar um carregamento de arquivo tem este link na mensagem de resposta: data.response.webContentLink. Isso terá &export=downloadno final, que só precisa ser aparado.
Bill Hoag

Esta resposta funcionou para mim ao tentar hospedar / usar uma imagem para o meu logotipo da equipe ESPN Fantasy-Football ... então, parabéns por isso.
NateJ 02/09

1
@ pabloverd: "eu tenho que fazer essa ação um por um" Sim.
Mori

61

aqui está como em @ https://productforums.google.com/forum/#!topic/drive/yU_yF9SI_z0/discussion

1- carregar sua imagem

2- clique com o botão direito e escolha "obter link compartilhável"

3- copie o link que deve parecer

https://drive.google.com/open?id=xxxxxxx

4-mude o open?para uc?e use-o como

<img src="https://drive.google.com/uc?id=xxxxx">
  • é recomendável remover http:ou https:ao fazer referência a algo da Web para evitar problemas com o servidor.

@ ctf0 "é recomendado remover o http: ou https: ao fazer referência a qualquer coisa da web para evitar problemas com o servidor", então você aconselha simplesmente fazer drive.google.com?
21318 HoCo_

Funcionou bem, simples
Thara Perera

26

ATUALIZAÇÃO: como foi anunciado , o Google reprovou esse recurso em agosto de 2016. Aqui está a atualização final do Google com alternativas.

Em abril de 2013 e usando o Chrome / webkit, o seguinte funcionou para mim:

  • 1 Crie uma pasta chamada, por exemplo, "pública"

  • 2 Selecione essa pasta, clique com o botão direito do mouse e Compartilhe> Compartilhar . Clique. Selecione "Qualquer pessoa pode acessar"

  • 3 Arraste e solte um arquivo na pasta e deixe-o carregar.

  • 4 Clique com o botão direito do mouse no arquivo e selecione Detalhes . Uma das linhas no Detalhes-Fieldset diz "Hospedagem". Abaixo, há um URL:

https://googledrive.com/...

  • Arraste e solte esse URL em uma nova guia. Copie e cole o URL e compartilhe ou incorpore-o onde quiser.

Uma limitação é que, no que diz respeito ao HTTP, apenas o acesso HTTP seguro parece ser possível.

Atualização:
outra limitação é que os arquivos que o Google drive pode abrir não serão acessíveis dessa maneira.
Ou seja, clicar em " Detalhes " não mostrará um URL do Google Drive.

Para superar isso:

  • clique com o botão direito do mouse no arquivo em questão e selecione "Abrir com> Gerenciar aplicativos":

insira a descrição da imagem aqui

  • Desmarque os aplicativos associados a arquivos aqui
  • Opcional: recarregue o Google Drive
  • Clique com o botão direito do mouse no arquivo e selecione "Detalhes"
  • Prossiga como na etapa 4

Nota: Uma alternativa ao procedimento acima é fazer upload do arquivo com uma extensão que o Google Drive não pode abrir / não está associado.


2
Atualização para a atualização - foi preterida em 201 5 e removida em 2016 6
Chris H

E, portanto, esta resposta deve ser excluída
matanster 2/19/19

14

Se você deseja visualizar o arquivo no navegador, também é possível usar um método semelhante ao fornecido pelo rufo e Torxed:

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

Eu não entendo Se eu quiser visualizar o gdoc no navegador, basta digitar sua URL.
Phil Goetz

7

Eu acho que é possível, mas apenas por um curto período de tempo

O que você precisa fazer é definir a Lista de controle de acesso do arquivo como Somente leitura pública (ou Leitura / gravação pública). Você pode fazer isso de forma programática usando a API da lista de documentos do Google ou manualmente através do botão "Compartilhar" no visualizador de imagens do Drive.

Em seguida, você pode obter o URL da imagem programaticamente usando a API da lista de documentos do Google ou a API do Google Drive (por exemplo, file.getDownloadUrl () em Java). Você também pode obter facilmente um link para a imagem manualmente clicando com o botão direito do mouse na imagem no visualizador de imagens padrão do Google Drive.

O problema é que esse link tem um tempo limitado de vida, portanto ele funcionará por um tempo e depois parará de funcionar.

Basicamente, o URL do arquivo de imagem armazenado no Drive deve estar acessível sem autenticação, uma vez que tenha sido definido publicamente, mas esse URL será alterado em algum momento. Podemos encontrar uma solução para isso no futuro, como fornecer um URL permanente que será redirecionado para esses URLs variáveis, mas sem promessas ...


1
Seria bom saber com antecedência quanto tempo um link permanece. É consertado ou depende de outros parâmetros?
Drake

2
Por experiência, se eu perguntar ao engenheiro qual é esse valor, ele responderá: "No momento, é XXX, mas não diga a eles porque podemos alterá-lo a qualquer momento :)" Tenho certeza de que você pode experimentar facilmente para encontrar esse valor;)
Nicolas Garnier

Atualmente, um link público, mesmo que expirando, é o que precisamos, além das caixas de proteção de aplicativos, para os quais os dados já pertencem a um aplicativo oauth2 sem interferir nas ACLs.
Kain

6

Nas páginas de ajuda do Google Drive :

Para hospedar uma página da web com o Drive:

  1. Abra o Drive em drive.google.com e selecione um arquivo.
  2. Clique no botão Compartilhar na parte superior da página.
  3. Clique em Avançado no canto inferior direito da caixa de compartilhamento.
  4. Clique em Alterar ....
  5. Escolha On - Public na web e clique em Save.
  6. Antes de fechar a caixa de compartilhamento, copie o ID do documento do URL no campo abaixo de "Link para compartilhar". O ID do documento é uma sequência de letras maiúsculas e minúsculas e números entre barras na URL.
  7. Compartilhe o URL parecido com "www.googledrive.com/host/[doc id] onde [doc id] é substituído pelo ID do documento que você copiou na etapa 6.

Qualquer um agora pode visualizar sua página da web.


5

Alguns dos usuários anteriores estavam próximos, mas estavam faltando uma etapa aqui ou ali.

Aqui está um vídeo que mostra todas as etapas.

(Edit 2-Dec-14
As informações abaixo estão incorretas no que diz respeito ao novo Google Drive. Para o novo Google Drive, siga estas instruções.
Existem duas opções que você pode usar,
opção 1, clique na roda dentada no canto superior direito e reverter para o antigo Google Drive, se você reverter, use as instruções após "Finalizar edição)".
Opção 2 ou você pode seguir o trabalho que eu encontrei. Se eu encontrar uma maneira melhor do que isso, atualizarei, mas aqui está o que eu achei que funciona.


O link completo será semelhante a " https://googledrive.com/host/(folder id). A
parte um do seu link que você precisa é" https://googledrive.com/host/ "para a segunda metade. para acessar o arquivo que você deseja compartilhar.Quando
estiver na pasta com o arquivo que deseja compartilhar, consulte o link acima
(Exemplo 1 https://drive.google.com/drive/u/0/ # folders / 0B3UALYkiLexYSXZlcldoU2NpYXM )
(exemplo 2 https://drive.google.com/drive/u/0/#folders/0B3UALYkiLexYSXZlcldoU2NpYXM/0B3UALYkiLexYRkNnOVhsUVozRU0 )
Nos dois exemplos acima, o "ID da pasta" necessário para o compartilhamento é o último grupo de letras e números após o "/", portanto, no exemplo um, é "0B3UALYkiLexYSXZlcldoU2NpYXM" no exemplo dois, é "0B3UALYkiLexYRkNnOVhsUVozRU0"

nos exemplos Eu usei, o exemplo 1 era uma pasta na minha unidade e o exemplo 2 era uma pasta dentro dessa primeira, e é por isso que ela tem todo o primeiro link antes do segundo.
Só precisamos da seção depois do "/" mais à direita.


Portanto, agora que você tem seu "ID da pasta", use a fórmula acima " https://googledrive.com/host/(folder id)"
Exemplo 1 https://googledrive.com/host/0B3UALYkiLexYSXZlcldoU2NpYXM
Exemplo 2 https: // googledrive.com/host/0B3UALYkiLexYRkNnOVhsUVozRU0


Ótimo, agora que você tem esse link, abra-o em uma nova página. Ele o direcionará para a pasta compartilhada. Uma vez lá, você pode clicar com o botão direito do mouse em qualquer arquivo e selecionar "Copiar endereço do link" ou clicar em qualquer arquivo dessa pasta e ele será direcionado para a imagem hospedada, o URL na parte superior da página é o URL de hospedagem.


É assim que você faz. É muito chato e, pessoalmente, parece muito mais fácil reverter para o antigo Google Drive.


Vou tentar fazer um novo vídeo tutorial o mais rápido possível


Deixe-me saber se isso não funcionar para você e qual o problema que você está enfrentando.


End Edit)

https://www.youtube.com/watch?v=QmN22LMPdDk&feature=youtu.be

Ou você pode apenas seguir os escritos abaixo.

Essas fotos acompanham as listadas nas etapas.

https://googledrive.com/host/0B3UALYkiLexYSXZlcldoU2NpYXM/

  1. Crie uma pasta no seu Google Drive que você gostaria de usar para compartilhar imagens.

  2. Selecione essa pasta e vá para as opções de compartilhamento. Altere as opções "Quem tem acesso" de "Pessoas específicas" para "Público na Web" Todas as imagens colocadas na pasta terão um link de hospedagem, mostrado na Etapa 4

    (Imagens: Alterar pasta Option.png , Alterar pasta opção 2.png e Alterar pasta opção 3.png )

  3. coloque uma imagem nessa pasta.

  4. selecione a imagem que você deseja compartilhar e consulte a seção de detalhes (geralmente no lado direito) para uma seção chamada "Hospedagem", você deve encontrar um link que comece com

    "googledrive.com/host/( números e dígitos aleatórios que são o ID dessa pasta) / (nome do arquivo)"

    Use esse link para compartilhar suas imagens. Você pode usar esse link para incorporá-los a outros sites.

    (Imagens: Alterar opção de pasta 4.png e Alterar opção de pasta share.png )


2

Vetea, se você pegar o link do URL da imagem, ele não funcionará, mas se você pegar o campo "Link direto", ele funcionará. Eu usei e testei em várias ocasiões.


2

A solução fornecida pela Niutech funcionou para mim, ou seja,

http://googledrive.com/host/<folderID>/<filename>

Mas existem 2 questões pendentes

  1. Você não pode ter 2 arquivos com o mesmo nome na mesma pasta na unidade, caso contrário, este link não funcionará.

  2. Ainda não está claro, mas o Google parece estar planejando descontinuar a hospedagem de imagens via drive. Por favor veja o link abaixo. https://support.google.com/richmedia/answer/6098968?hl=en


O Google não forneceu nenhum cronograma sobre quando isso será descontinuado? Eu estava planejando integrar isso ao meu site, mas não tenho tanta certeza depois de ler isso!
Shikhar


2

Especificamente para usuários do G-Suite. Conforme relatado no ponto 3 aqui , você pode usar este URL para hospedar imagens

https://drive.google.com/a/domain.com/thumbnail?id=imageID

com as seguintes substituições

  • domain: substitua pelo domínio GSuite da sua empresa, como pikachu
  • imageID: substitua pelo ID da imagem / ID do arquivo

O pré-requisito aqui é que a imagem deva ser compartilhada via drive para o público-alvo (com cada pessoa individualmente ou talvez em toda a organização)

insira a descrição da imagem aqui


Se você tiver problemas com o tamanho da imagem renderizada, use as seguintes opções, como mencionado aqui

https://drive.google.com/a/domain.com/thumbnail?id=imageID&sz=w{width}-h{height}

com as seguintes substituições (além domaine imageIDsubstituição)

  • {width}: escreva a largura em pixels (sem chaves) como 300
  • {height}: escreva a altura em pixels (sem chaves) como 200

1

Existe uma opção de tipo de arquivo na API do Google Drive. Talvez você possa verificar se isso resolve uma imagem válida. Eu procuraria uma opção em que, se o tipo de arquivo me der uma imagem inválida, obtenha uma nova URL direta para o arquivo. Ainda não descobri exatamente como fazer isso, mas talvez esse seja um caminho a ser tentado.


1

Você pode fazer isso diretamente no Drive e no Gmail. Aqui está como:

1. Carregue uma imagem no Google drive e defina as permissões para visualização (pode ser pública OU qualquer pessoa com link)

  1. Vá para Gmail> Escrever. Selecione o + ao lado do ícone do anexo.

  2. Selecione o ícone da unidade (formato triangular)

  3. Navegue até a sua imagem e clique com o botão direito do mouse em copiar URL da imagem

  4. Cole no navegador da Web ou incorpore nas páginas da Web, conforme necessário.


Isso fornece apenas um link para o documento inteiro. Não faz sentido fazer isso; você já possui o URL do documento ao editá-lo ou visualizá-lo. Gente, pare de postar respostas sobre como encontrar o URL do documento! Já sabemos o seu URL.
Phil Goetz

1

1.Altere as configurações da sua imagem para públicas.

2. Obtenha seu link compartilhável.

3. Acesse este site e gere um link de download direto.

Trabalhou para mim!


1

Solução Fácil

Tudo o que você precisa fazer é abrir seu arquivo:

Imagem da montanha no Google Drive

Em seguida, entre no seu inspetor da Web (para Chrome Cmd-Shift-Iou Ctrl-Shift-Idependendo do seu sistema operacional) e obtenha o link. Feito!

Imagem do link da imagem mostrada no inspetor da web

O link funciona, tente aqui .


0

Con pode desativar o javascript no seu navegador, abrir o arquivo de imagem e, na fonte da página de visualização, ou clicar com o botão direito do mouse na imagem, você verá o link da imagem. (verifique a preferência de compartilhamento antes)


Isso seria um truque interessante, mas se você desativar o javascript e tentar abrir um documento do google, você receberá a mensagem "O JavaScript não está ativado no seu navegador, portanto, este arquivo não pode ser aberto. Habilite e recarregue".
Phil Goetz


0

Título da função: goobox

tags: hospedagem de imagens, regex, URL, google drive, dropbox, avançado

  • return: string Retorna um URL de string que pode ser usado diretamente como a fonte de uma imagem.
  • quando você hospeda uma imagem no google drive ou no dropbox, não pode usar o URL direto do seu arquivo para ser uma fonte de imagem.
  • você precisa fazer alterações neste URL para usá-lo diretamente como fonte de imagem.
  • goobox() pegará o URL do seu arquivo de imagem e o mudará para ser usado diretamente como fonte de imagem.
  • Importante: você precisa verificar primeiro as permissões dos seus arquivos e se é público.
  • exemplo ao vivo: https://ybmex.csb.app/
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 

-3

No entanto, essa resposta é simples, de fato, muito simples e muitos mencionaram que basta inserir o ID da imagem no seguinte link https://drive.google.com/uc?export=view&id= {fileId}

Mas, por mais fácil que seja, criei um script para executar no console. Alimente uma variedade de links compartilháveis ​​completos do Google Drive e converta-os no link acima. Então eles podem ser simplesmente usados ​​como endereços estáticos.

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)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.