I face a 403 forbidden error uploading images using an unofficial Notion API. My code creates an image block and then calls the upload method. Revised sample code below:
import custom_notion as cn
def send_image():
token = config.get_token('api_token')
notion_client = cn.Client(token=token)
home_block = notion_client.get_block('home_page_identifier')
img_block = home_block.add_block('image')
img_block.upload('C:\\Images\\sample.png')
home_block.place_before(img_block, reference=home_block.first())
I ran into a similar issue while developing a dashboard that integrated image uploads via an unofficial API. My solution involved a deep dive into the permissions and API configuration. It turned out that the error was not solely about the token but a misstep in the library’s backend handling of file types and paths. I solved it by carefully reviewing both the authorization settings and the code structure handling the file stream. This approach clarified some hidden permission requirements that weren’t obvious at first, so I suggest checking your API settings thoroughly.
In my experience, this error can sometimes be traced to how the file paths and permissions are handled by the customized client library. I encountered a similar issue and eventually determined that even though my token and permissions appeared to be set correctly, some file path encoding discrepancies in the library led to a server rejection. Adjusting the file path format and verifying local file access permissions resolved the problem. I suggest revisiting recent API changes in case there are updated guidelines for file uploads that might not be documented in unofficial clones.