Como moderador, gostaria de usar a API para um fórum discourse. Normalmente, ela estava ativada e consegui obter uma chave de API. Usei este script:
Consegui recuperar uma chave que tem 32 caracteres (está correto?), e nas configurações de segurança da minha conta, o aplicativo mostra com estas permissões:
Ler tudo
Escrever tudo
Atualizações ao vivo
Notificações push para serviços externos
Ler e limpar notificações
Ler informações de sessão do usuário
Criar um token de login de uso único
Isso parece bom. No entanto, quando tento acessar através de um script com:
from pydiscourse import DiscourseClient
client = DiscourseClient(
'https://forum.example.com',
api_username='tflidd',
api_key='388b79103056fede1d3223dae032df99')
client.user("tflidd")
É uma biblioteca python, então suponho que deva funcionar. A api_key tem este formato específico, não é a chave real. Recebo o erro de que o nome de usuário ou a chave de API são inválidos.
Eu uso meu nome de usuário ou o nome do aplicativo?
A chave de API tem pelo menos o formato correto, talvez a descriptografia de algo tenha dado errado?
Se eu usar o curl como aqui (Discourse-user-notes API - #4 by codetricity):
curl https://forum.example.com/t/95783.json\ -H 'Api-Key: 388b79103056fede1d3223dae032df99'\ -H 'Api-Username: tflidd'
Também recebo um erro:
{"errors":["Você não tem permissão para visualizar o recurso solicitado. O nome de usuário ou a chave da API são inválidos."],"error_type":"invalid_access"}
Se eu abrir o mesmo URL com o json no meu navegador onde estou logado, o navegador web mostra o objeto json correto. Portanto, o tópico existe e eu tenho permissões para acessá-lo (este era até mesmo um tópico público).
Sou apenas um moderador, sem acesso direto de administrador. Eu poderia pedir mais informações dos logs, se você tiver sugestões sobre o que procurar.
Caso importe, a versão instalada é: 3.2.0.beta4-dev