Use Zotero + Logseq without providing API KEY or any account. Just locally

I want to use the Zotero integration features with Logseq without providing my API key and without having any account.

I just have a local Zotero storage and I want Logseq to communicate with Zotero just by providing the directory. (Zotero standalone always open).

Is this possible?? :slight_smile: Why I do need to provide a key if I just want to communicate with the local storage?

Thank you in advance!

4 Likes

I found this and this.

I tried both but the Zotero search bar does not find any of my papers in the Bibtex .json

Is anyone using these plugins? Can you really import metada from the papers only with the Bibtex json?

Thank you.

Hi

I created a plugin that can do the job. It doesn’t require too much configuration and runs completely locally.

Check it here if you’re interested.

Btw, if you are also interested in a feature, full-text search across PDFs, please vote for this FR. Thanks!

1 Like

I will check this one. Thank you for the work.
Is your solution currently the only one supporting the local connection??
ps: already voted

Maybe not the only one. As you mentioned above, there are already some plugins using bib file to communicate with Zotero. So they are all local-only I think. But sorry I lack the experience to make any specific suggestion because I didn’t try them myself.

And thanks for the vote!

FYI, Zotero recently released a local web API for Zotero 7. Since it follows the web api, should Logseq just be able to easily switch to using the local endpoints? I have never made a feature request before, so I’d appreciate guidance on how to go about doing that. Or making a PR.

I am actually working on a plugin for this.

2 Likes

Thanks for sharing. I am still using this solution and works perfectly. But maybe this zotero release could improve something in the plugin workflow? Or maybe it is a solution by it self?? I do not know… @hkgnp since you are working on another solution, could you explain what would be the advantages or benefits in comparison with existing solutions? I am quite interested :eyes:

1 Like

I’ve not used the plugin you mentioned so I am not sure. But the mechanism I am using to get the items are from the Zotero API.

One benefit would be that the user would not need to install the Zotserver plugin for a Logseq plugin to communicate with, so it’d be easier to use. (You had to install Zotserver to use the plugin you mentioned, right?) In fact, Zotserver isn’t supporting Zotero 7 so far (since it’s redundant), so using Zotero’s own local API is likely the way going forward.

Please share it here once you’re done!

The plugin is ready, currently pending review for the marketplace. Naturally, requires Zotero 7 to be running in order to work.

demo

README: logseq-zoterolocal-plugin/README.md at main · benjypng/logseq-zoterolocal-plugin · GitHub

5 Likes

Super exciting! I am having trouble installing it though. I downloaded the zip file from the release page, extracted it, and used “Load unpacked plugin” in Logseq. I got the plugin’s icon to show up, but there’s no setting in the plugins setting page :(. The custom commands also didn’t show up. Do you know if I have to do something else?

Also, curious how you ended up bypassing the CORS restriction. I saw you used the “x-zotero-connector-api-version” and “zotero-allowed-request” like I did. Do you know if that’s what we’re supposed to do? Did you find any source on that?

Please try v1.0.5 instead.

Edit, sorry didn’t see the other reply. If you look at the server code on Zotero’s GitHub, you will see that their API did specify it.

1 Like

By the server code did you mean this file? If so, I can see that the headers in questions are checked, but there’s no comment explaining what they are, so I wasn’t 100% sure. Also, doesn’t having “zotero-allowed-request” kinda make the CORS protection pointless? Since a website can just issue a request to localhost and include that header to bypass CORS anyway, right?

Actually not really. The specified headers are probably used more by Zotero extensions than by a traditional browser.

Additionally a traditional browser environment will not actually “allow” it when making the request anyway.

1 Like