Você baixou seu arquivo de exportação de dados do Mastodon, mas o arquivo de favoritos não está incluído no zip. Isso acontece porque a ferramenta de exportação padrão do Mastodon inclui apenas um conjunto limitado de tipos de dados por padrão. Os favoritos são armazenados separadamente no banco de dados e não fazem parte do pacote básico de arquivamento. Este artigo explica por que os favoritos são excluídos e mostra como recuperá-los usando a API do Mastodon.
Principais Conclusões: Recuperando Favoritos Ausentes da Exportação do Mastodon
- Preferências > Importar e exportar > Exportar dados: Gera o arquivo padrão que exclui favoritos e listas.
- Endpoint da API do Mastodon /api/v1/bookmarks: Retorna uma lista JSON de todos os toots favoritados com metadados completos.
- Token OAuth com escopo read:bookmarks: Necessário para autenticar requisições à API para obter dados de favoritos.
Por que os Favoritos Estão Ausentes do Arquivo de Exportação Padrão
O recurso de exportação do Mastodon, localizado em Preferências > Importar e exportar > Exportar dados, cria um arquivo zip contendo arquivos CSV para seguidores, seguidos, bloqueios, silêncios, bloqueios de domínio e listas. O arquivo também inclui um arquivo outbox.json com suas postagens públicas. Os favoritos são intencionalmente excluídos desta exportação padrão por dois motivos.
Primeiro, os favoritos são considerados uma atividade privada. Diferente de postagens públicas ou seguidores, os favoritos não são compartilhados com outros usuários ou instâncias. Incluí-los na exportação criaria um risco de privacidade se o arquivo for compartilhado ou armazenado em um local inseguro. Segundo, o sistema de exportação foi projetado antes que os favoritos se tornassem um recurso central. O pipeline interno de dados da ferramenta de exportação não foi atualizado para incluir a tabela de favoritos.
A mesma limitação se aplica às listas. Embora as listas sejam incluídas como um arquivo CSV, a associação real de cada lista não é exportada. Favoritos e associações de listas exigem métodos de recuperação separados. A API do Mastodon fornece a única maneira confiável de extrair dados de favoritos.
Passos para Exportar Favoritos Usando a API do Mastodon
Para recuperar seus favoritos, você deve usar a API do Mastodon com um token OAuth que tenha o escopo read:bookmarks. Os passos a seguir assumem que você está usando um navegador de desktop e tem acesso às configurações da sua instância.
- Gerar um token de acesso OAuth com escopo read:bookmarks
Abra sua instância do Mastodon em um navegador. Vá em Preferências > Desenvolvimento. Clique no botão Nova Aplicação. Dê um nome para a aplicação, como “Exportador de Favoritos”. Em Escopos, expanda a seção read e marque apenas read:bookmarks. Não selecione nenhum escopo write. Clique em Enviar. Na próxima página, copie o texto ao lado de Seu token de acesso. Armazene este token com segurança. Você o usará no próximo passo. - Abrir o console do desenvolvedor do navegador
Na mesma aba do navegador, abra as ferramentas do desenvolvedor. Pressione F12 no Windows ou Cmd+Option+I no Mac. Clique na aba Console. Você colará o código aqui no próximo passo. - Executar a requisição à API para buscar favoritos
Digite ou cole o seguinte código JavaScript no console. Substitua YOUR_ACCESS_TOKEN pelo token que você copiou no passo 1. Pressione Enter.fetch('https://YOUR_INSTANCE_URL/api/v1/bookmarks?limit=80', {
headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' }
})
.then(response => response.json())
.then(data => console.log(JSON.stringify(data, null, 2)));
Substitua YOUR_INSTANCE_URL pelo domínio completo da sua instância do Mastodon, por exemplo mastodon.social. - Revisar a saída JSON no console
O console exibe um array JSON dos seus toots favoritados. Cada entrada inclui o ID do toot, conteúdo, detalhes da conta, anexos de mídia e timestamps. Se você tiver mais de 80 favoritos, a resposta inclui um cabeçalho Link para paginação. Para buscar a próxima página, copie a próxima URL do cabeçalho Link e repita o passo 3 com essa URL em vez do endpoint base. - Salvar os dados dos favoritos em um arquivo
Clique com o botão direito na saída JSON no console. Selecione Copiar Objeto ou Copiar String. Abra um editor de texto como Notepad ou Visual Studio Code. Cole os dados. Salve o arquivo como bookmarks.json. Este arquivo contém todos os seus favoritos em um formato legível por máquina.
Problemas Comuns ao Recuperar Favoritos
API retorna erro 401 Não Autorizado
Este erro significa que o token de acesso está ausente, expirou ou não possui o escopo read:bookmarks. Volte para Preferências > Desenvolvimento e edite a aplicação que você criou. Verifique se read:bookmarks está marcado em Escopos. Gere um novo token se necessário. Copie o token novamente e substitua o antigo na sua requisição à API.
API retorna array vazio mesmo eu tendo favoritos
O endpoint da API retorna apenas favoritos que pertencem ao usuário associado ao token de acesso. Confirme que você está logado na mesma conta que usou para criar a aplicação. Se você estiver logado em uma conta diferente, o token não terá acesso aos favoritos dessa conta. Faça logout e login com a conta correta antes de gerar o token.
Console mostra erro CORS
Um erro CORS ocorre quando o navegador bloqueia a requisição à API devido à política de mesma origem. Isso pode acontecer se você estiver executando o código fetch de um domínio diferente da sua instância do Mastodon. Abra o console do desenvolvedor em uma página que esteja hospedada na sua instância do Mastodon, como sua página de perfil ou a página de preferências. Não execute o código de uma aba em branco ou de um site diferente.
Mais de 80 favoritos não retornados
O limite padrão para o endpoint de favoritos é de 20 itens por página, mas você pode aumentá-lo até 80. O código de exemplo usa limit=80 para buscar o máximo por página. Se você tiver mais de 80 favoritos, deve lidar com a paginação. Analise o cabeçalho Link da resposta para obter a URL da próxima página. Repita a requisição fetch com essa URL até que não exista mais um link “next”.
Arquivo de Exportação do Mastodon vs. Recuperação de Favoritos pela API
| Item | Arquivo de Exportação Padrão | Recuperação de Favoritos pela API |
|---|---|---|
| Formato dos dados | Arquivos CSV e JSON em um arquivo zip | Array JSON retornado do endpoint da API |
| Favoritos incluídos | Não | Sim, todos os favoritos com metadados completos |
| Requer token OAuth | Não | Sim, com escopo read:bookmarks |
| Nível de privacidade | Pode conter dados públicos e privados | Apenas dados de favoritos privados são retornados |
| Suporte a paginação | Não aplicável | Sim, via cabeçalho HTTP Link |
| Automação possível | Apenas download manual | Sim, com scripts ou ferramentas de terceiros |
O arquivo de exportação padrão é adequado para migrar seguidores e bloqueios entre instâncias. O método da API é necessário para preservar dados de favoritos. Ambos os métodos se complementam para um backup completo dos dados.
Agora você pode recuperar seus favoritos ausentes usando a API do Mastodon e o token OAuth com escopo read:bookmarks. Em seguida, considere automatizar o processo de exportação com um script agendado que chame a API periodicamente. Para usuários avançados, o mesmo endpoint da API pode ser integrado a um painel ou ferramenta de backup que armazene favoritos em um banco de dados local.