dvanoni / notero

A Zotero plugin for syncing items and notes into Notion
https://download.notero.vanoni.dev
MIT License
2.36k stars 103 forks source link

API Response Error: Full Citation is not a property that exists #43

Closed Wes-Wwang closed 2 years ago

Wes-Wwang commented 2 years ago

Hi,

I followed the instructions and Notero worked fine until I accidentally deleted the Full Citation Column. When I try again, syncing doesnt work anymore. How can I fix this?

Many thanks!

截屏2022-02-08 09 43 06
dvanoni commented 2 years ago

Hi @Wes-Wwang, thanks for using Notero and reporting this issue!

To be honest, I'm a little stumped by this error because the first step of the sync process is to first check which properties exist in your Notion database, and then it should only sync those properties that actually exist. If the Full Citation property has been deleted from your database, then Notero shouldn't be trying to sync it like this. 🤔

Just to clarify, did you leave the Full Citation property out of your database, or did you try adding it back?

If you restart Zotero and try this sync again, do you still run into the same error?

Wes-Wwang commented 2 years ago

Thanks for reminding me. Yes I did try to add Full Citation back. I think the error appeared first when I changed Full Citation property type from Text to Relation, but I didn't know at that time links in Relation would cover previous Citation texts. At this point, syncing still worked; the only imperpection was that everything synced except Full Citation.

So I deleted Full Citation, but that was when the error came. When it happened, I deleted the database and duplicated a new page from your template page, went through the whole setting process again, including changing the database ID in Notero Preference. I thought a change of database would fix it but it didn't.

dvanoni commented 2 years ago

Hmm this is very strange! I'm still baffled as to what's going on here.

Just to double-check something, can you tell me which version of Notero you have? You can find it by clicking the Tools > Add-ons menu item and then clicking the More link on Notero. Thanks!

Wes-Wwang commented 2 years ago

It's Notero 0.3.2

dvanoni commented 2 years ago

To help me debug further, could you do something for me?

  1. Open Tools > Developer > Error Console
  2. Click the Clear button at the top to clear out the logs
  3. Attempt the sync that is causing the error you see
  4. Send me a screenshot of any output in the Error Console

Thanks!

Wes-Wwang commented 2 years ago
截屏2022-02-09 14 22 32

This is what I get after the steps above. Hope it'll help. Thanks!

dvanoni commented 2 years ago

Thanks for the quick reply!

I have a hunch as to what's going on here. I think what may be happening is that Notero is trying to update the page in the old database that you deleted, but it's getting the properties to sync from the new database, and there's a mismatch between the two which causes the error you see. Instead of Notero trying to update the old page in the deleted database, what we want it to do is create a new page in the new database. In order for it to do that, I think the old database needs to be deleted from your Trash in Notion.

Could you go into the Trash in Notion, search for the old database, and then click the Delete permanently (trash can) button on it? Then give it a minute or so to make sure all the pages in the old database are deleted, and then try the sync again. With any luck, it should end up creating a new page in your new database. 🤞

Wes-Wwang commented 2 years ago

And it did work!

Thank you so much for debugging. I really appreciate that you developed Notero. It literally saved me a lot of repetitive work.

github-actions[bot] commented 2 years ago

:robot: this is your friendly neighborhood build bot announcing test build 0.3.2.70 ("chore(README): Add note about fixing non-existent property error\n\nCloses #43")

Install in Zotero by downloading test build 0.3.2.70, opening the Zotero "Tools" menu, selecting "Add-ons", open the gear menu in the top right, and select "Install Add-on From File...".

dvanoni commented 2 years ago

A quick update on this: I reported the unexpected API behavior to the Notion team back when I looked into this, and this week they let me know they've updated the API to return a more useful error message!

Now if a similar situation arises, you should see Can't update a page with an archived ancestor. You must unarchive the ancestor before updating. instead of something like Full Citation is not a property that exists.