Qual escopo é necessário para acessar {{localhost}}/posts.json?

Olá,

Gerei uma chave de API emitida por administrador com as escopos write, read e read lists. No entanto, ao tentar usar a chave (adicionando-a no cabeçalho Api-Key) para acessar o endpoint {{localhost}}/posts.json, recebo o seguinte erro:

    "errors": [
        "Você não tem permissão para visualizar o recurso solicitado. O nome de usuário ou a chave da API é inválido."
    ],
    "error_type": "invalid_access"
}

Por outro lado, gerar uma chave global me dá acesso ao endpoint. Qual é o escopo correto (mínimo) para ler {{localhost}}/posts.json?

Ainda não testei isso, mas acho que o que você está vendo é o comportamento esperado. Você pode clicar no botão de âncora exibido ao lado de cada escopo de chave de API para ver quais caminhos o escopo permite acessar. Você verá que o escopo read só se aplica a rotas que começam com /t. O escopo read lists dá acesso às listas de tópicos do Discourse. Não há um escopo que permita especificamente acessar /posts.json, então parece que você terá que usar uma chave global para isso.

Estou me perguntando se faria sentido adicionar /posts.json ao escopo read.

Oi, Simon! Obrigado pela resposta e pela explicação. Para o meu caso de uso, precisarei ler as postagens de /posts.json, mas, ao mesmo tempo, gostaria de ser o menos intrusivo possível e solicitar apenas acesso de leitura. Existe alguma solução alternativa?

Se você estiver consultando apenas postagens públicas, talvez seja possível fazer uma solicitação de API não autenticada para /posts.json. Se o seu site for privado ou as postagens estiverem em categorias protegidas, acredito que a única maneira de recuperar as postagens atualmente seja com uma chave de API global.

#pr-bem-vindo para uma nova escopo ou adicionar isso ao read, eu acho.