Minha empresa usa o Office 365 com OneDrive. Carreguei um arquivo Excel lá e compartilhei via "link de convidado".
É possível gerar um link que alguém possa usar apenas para baixar o arquivo sem autenticação adicional?
Para fins de automação, estou pensando em um esquema simples:
wget https://acmeamce.sharepoint.com/personal/myname/.../blabla.xlsx
Responder1
Graças a descobrir que o OneDrive for Business é na verdade um Sharepoint 2013 renomeado euma resposta no Sharepoint@SEConsegui um link para download programático de um documento.
Uma maneira de conseguir isso é clicar com o botão direito do mouse no documento na GUI da web e levar a URL até lá. Não funcionou para mim porque este URL exigia autenticação, mas...
Tomando o prefixo do URL, por exemplo
https://acmeacme.sharepoint.com/personal/myname/_layouts/15/download.aspx?SourceUrl=
e o URL "normal" gerado como link de convidado
https://acmacme.sharepoint.com/personal/myname/_layouts/15/guestaccess.aspx?guestaccesstoken=123123%3d&docid=123123
e concatená-los funcionou perfeitamente:
wget https://acmeacme.sharepoint.com/personal/myname/_layouts/15/download.aspx?SourceUrl=https://acmacme.sharepoint.com/personal/myname/_layouts/15/guestaccess.aspx?guestaccesstoken=123123%3d&docid=12312
Responder2
Tudo o que precisei fazer foi alterar ligeiramente o link de edição. Basta substituir guestaccess.aspx
por download.aspx
.
Responder3
Apenas para adicionar a este tópico (que me apontou na direção certa - obrigado!), ao tentar conforme descrito acima, recebi uma mensagem 403 FORBIDDEN ao tentar fazer o download e um login do Office 365 ao colar em um navegador.
Para resolver copiei a parte guestaccesstoken=... da segunda URL e tornei-a um parâmetro da primeira URL também.
Isso foi autenticado corretamente e o download funcionou muito bem.
Obrigado! Steve