Impossível Associar Banner de Categoria via API durante a Criação de Categoria com Código Python

Olá a todos,

Estamos usando um script Python para criar categorias e subcategorias com hierarquia, juntamente com descrições de categoria, e conseguimos isso com sucesso. No entanto, também queremos associar uma imagem de banner de categoria com base na entrada do arquivo CSV que estamos usando, mas atualmente não conseguimos fazer isso, mesmo que o arquivo de imagem seja carregado com sucesso na instância do Discourse e o script Python mostre como categoria atualizada com sucesso, sem falhas.

  1. Upload de Imagem Bem-sucedido, mas Não Associado à Categoria
    • Título: Por que a imagem carregada não está aparecendo como banner da categoria no Discourse?

    • Conteúdo:
      Estou usando a API do Discourse para carregar uma imagem e associá-la como banner de categoria. O código Python relata que a categoria foi atualizada com sucesso, e a imagem carregada é visível na instância do Discourse. No entanto, a imagem do banner não é aplicada à categoria.
      Aqui está o trecho de código que estou usando:

      data = {
          "name": category_name,
          "slug": category_slug,
          "uploaded_background": background_image_url
      }
      response = requests.post(create_url, json=data, headers=headers)
      print(response.json())
      

      Poderia haver uma etapa ou configuração adicional necessária para associar a imagem à categoria?


  1. Imagem Carregada Não Aplicada à Categoria Apesar da Mensagem de Sucesso
    • Título: Por que o banner da categoria não é atualizado, mesmo que a chamada da API seja bem-sucedida?

    • Conteúdo:
      Eu carrego uma imagem na instância do Discourse usando a API e a atribuo como banner de categoria. A chamada da API retorna uma resposta de sucesso, e a imagem é visível na seção de uploads do Discourse. No entanto, o banner da categoria permanece em branco.
      Veja como estou atribuindo a imagem do banner:

      uploaded_image_url = upload_image(image_path)
      if uploaded_image_url:
          data = {
              "name": "Sample Category",
              "slug": "sample-category",
              "uploaded_background": uploaded_image_url
          }
          response = requests.post(create_url, json=data, headers=headers)
          print(f"Response: {response.status_code}, {response.json()}")
      

      Por que a imagem do banner pode não aparecer na categoria, apesar da API relatar sucesso?


  1. Script Python Relata Sucesso, Mas Imagem do Banner Não Visível
    • Título: Por que a imagem do banner da categoria do Discourse não está sendo atualizada após uma resposta de API bem-sucedida?

    • Conteúdo:
      Estou tentando carregar e atribuir uma imagem de banner de categoria usando a API do Discourse. O script Python registra sucesso, e posso ver a imagem carregada na instância do Discourse. No entanto, a imagem não está associada à categoria.
      Trecho de código:

      response = requests.post(create_url, json=data, headers=headers)
      if response.status_code == 200:
          print("Category updated successfully.")
      else:
          print(f"Failed to update category: {response.json()}")
      

      Existe algum parâmetro específico ou etapa adicional necessária para garantir que a imagem do banner seja aplicada à categoria?

Seguindo Reverse engineer the Discourse API seu script python deve ser capaz de fazer tudo que você pode fazer usando a interface do usuário.

1 curtida