Pular para o conteúdo

Links de compartilhamento

Um link de compartilhamento abre um arquivo para quem não tem conta no projeto, sem mexer nas permissões dele. Por trás, é um token do arquivo, com validade opcional, que vai na URL.

No bucket, abra o arquivo e use Links de compartilhamento → Criar link. Dá para mudar a validade e revogar depois.

link-compartilhado.ts
import { Tokens } from '@owbase/node';
import { client } from './client';
// A chave precisa do escopo tokens.write.
const tokens = new Tokens(client);
const arquivo = { bucketId: 'notas', fileId: '<ID_DO_ARQUIVO>' };
// Link que vale 7 dias, para quem não tem conta no projeto.
const expira = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString();
const token = await tokens.createFileToken({ ...arquivo, expire: expira });
// O mesmo endereço que o storage.getFileView({ ..., token }) do @owbase/web monta.
const link = new URL(`https://cloud.owbase.dev/v1/storage/buckets/${arquivo.bucketId}/files/${arquivo.fileId}/view`);
link.searchParams.set('project', '<ID_DO_PROJETO>');
link.searchParams.set('token', token.secret);
console.log(link.toString());
  • Sem expire, o link não vence; revogue com tokens.delete({ tokenId }) quando não servir mais.
  • tokens.list({ bucketId, fileId }) mostra os links de um arquivo.
  • No navegador, o @owbase/web monta a mesma URL com storage.getFileView({ bucketId, fileId, token }).