在使用Python代码创建类别时,无法通过API关联类别横幅

大家好,

我们正在使用 Python 脚本来创建具有层级结构的类别和子类别,以及类别描述,并且已经成功完成了。但是,我们也希望根据我们使用的 CSV 文件中的输入来关联类别横幅图像,但目前无法做到这一点,尽管图像文件已成功上传到 Discourse 实例,并且 Python 脚本也显示类别已成功更新,没有失败。

  1. 图像上传成功但未与类别关联
    • *标题:*为什么上传的图像没有显示为 Discourse 中的类别横幅?

    • 内容:
      我正在使用 Discourse API 上传图像并将其关联为类别横幅。Python 代码报告类别已成功更新,并且上传的图像在 Discourse 实例中可见。但是,横幅图像未应用于该类别。
      这是我使用的代码片段:

      python

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

      是否需要额外的步骤或设置才能将图像与类别关联?


  1. 上传的图像未应用于类别,尽管有成功消息
    • *标题:*为什么即使 API 调用成功,类别横幅也没有更新?

    • 内容:
      我使用 API 将图像上传到 Discourse 实例,并将其指定为类别横幅。API 调用返回成功响应,并且图像在 Discourse 的上传部分可见。但是,类别横幅仍然为空。
      这是我指定横幅图像的方式:

      python

      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()}")
      

      为什么在 API 报告成功后,横幅图像可能不会显示在类别上?


  1. Python 脚本报告成功,但横幅图像不可见
    • *标题:*为什么在 API 响应成功后 Discourse 类别横幅图像未更新?

    • 内容:
      我正在尝试使用 Discourse API 上传和指定类别横幅图像。Python 脚本记录成功,我可以在 Discourse 实例中看到上传的图像。但是,该图像未与类别关联。
      代码片段:

      python

      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()}")
      

      是否需要特定的参数或额外的步骤来确保横幅图像应用于该类别?

遵循 https://meta.discourse.org/t/reverse-engineer-the-discourse-api/20576,您的 Python 脚本应该能够完成您通过 UI 可以完成的所有操作。

1 个赞