[SOLVED] Importing from Google Keep

No worries and thank you, but in this case I actually just wanted to know why people choose to take a screeenshot of text. It’s just something I never understood.

This is a Joplin error, so it would be interesting to know if this still happens with the latest version. (It seems that you use version 1.0.150.)
On the other side, maybe the script passes either a null value to the API or something the API does not expect. Maybe @gme has an idea what the issue might be.

I installed Joplin with Homebrew, I just checked the update and it seems it’s the latest available.

Hmm, in that case, I need more information. Are you using the terminal or the desktop version? I really do not know why we even have brew as an option. It is always behind and always gives people some sort of trouble. (Not in your case, since you were able to install it.)

But back to the issue. What did you update? The script or Joplin? What happens, if you use the previous version of the script? Either way, I think @gme will have to chime in.

I updated both Joplin and the script.
I’m using Joplin on iTerm, I didn’t even know there is a desktop version.

Ok, 1.0.150 is the latest CLI version. Anyway, let’s see what @gme has to say.

1 Like

UPDATE: on the desktop version, everything works perfectly. Problem solved

If anyone is looking for a more automated solution try gkeepapi
I use it to back up my keep (not yet ready to fully switch to joplin – for small notes keep is much faster) and it works well.

1 Like

@seffyroff/@gme
I’ve expanded the original python script to handle importing image attachments from Google Keep as well. I’d love to share those changes with one of the forks if possible.
I’d also be interested in adapting the algorithm to incorporate it into Joplin officially using Electron!

@Leonard777 I’m interested in your changes. Could you please upload your version here as is, or if possible integrated into the script from post 8 in this thread by @gme? Either is fine, I can probably figure it out. TIA!

Sure can! Here you go. I’m talking to the original poster of the script from git labs here about contributing my changes along with several those of @gme.
Note, I added argparse logic so you can run -h to see the usage. I undid the default file export that gme did because I prefer to have the option of location and name. You can also pipe the output this way as with the original script so the API isn’t changed.
Just pulled in all my Keep notes with images today and it worked like a charm!

keep-to-enex.py (7.4 KB)

2 Likes

I confirmed that this code works with my 6.7 GB Keep collections with ~3800 items.

Note,

Dear @Leonard777, @gme, and all of Good People here,

thank you.

Renan

I will just post here few steps how to transfer Google Keep notes to Joplin on Windows for users that are not so familiar with "running scripts".

  1. Go to https://takeout.google.com/settings/takeout and request notes from Keep. Unzip downloaded file.
  2. Download python script from couple posts above
    For example that named keep20191210-to-enex6.1.py
    Copy that script directly to Keep folder unzipped in step 1.
  3. Download and install Python - for example Python 3.9.0 or newer
    https://www.python.org/downloads/windows/
  4. Start Windows command line - shortcut Win key + R and type "cmd" (Command Line). Type "cd 'path to unzipped Keep directory' ". For example "cd c:\Keep". The last line in the cmd window should start with that directory path.
  5. Run the script in that cmd window typing "py keep20191210-to-enex6.1.py" (or other name of the script). After that there should be keep.enex file in that directory ready to be imported in Joplin (File - Import - ENEX)

Note: script mentioned above is not able to transfer everything (for example pictures). So be careful and check if everything seems ok. See more above or in the first few lines in the script file.

Optional: If there is error in the step 4 about date/time you need to download and install library from
https://pypi.org/project/parsedatetime/ (for example parsedatetime-2.6-py3-none-any.whl). Using cmd from step 4 you need to type "pip install parsedatetime-2.6-py3-none-any.whl" in the directory where that library whl file is downloaded.

2 Likes

If you are looking to convert from Google Keep to Evernote, so you can import to Joplin, I recommend getting the latest version of the python script from the gitlab repo as it now supports importing images.

NOTE: I has to use both the input path and output file name in order to get it to work properly for me on Ubuntu 20.04. (That is also noting that need for the parsedatetime module.)

Also I used the import Evernote as Markdown , because the following post said that makes the notes more editable.

Thank you for doing this!

Although this post is a long time ago, in order to facilitate other people to solve the problem, I still reply.

I'm also trying to import google keep into joplin, but the old solution ran into some issues, such as many notes without titles and time not imported.

So I implemented an import program myself, and it doesn't seem like a big problem for my own use. Titles, attachments, connections, etc. are all resolved.

Hi,

Version 0.5.2 of the Python markdown converter script called keep-it-markdown dynamically pulls Keep notes to markdown files along with Joplin front matter to preserve tags. This script does not require using Google Takeout for export. It runs on Windows, MacOS and Linux. You can also import markdown notes back into Keep.

Instructions on use are in the README.md file here - https://github.com/djsudduth/keep-it-markdown

2 Likes

@pluraldon, this script is very good.

Perhaps you could add a post to the Apps category introducing it? It would help people find your good work.

Thanks, I've found out very useful.:+1:

Thx! Were you able to authenticate with Google ok? That's my biggest concern. Having 2FA turned on can make it complex to setup.

I have 2FA turned on, but it caused no issue. The App Password was created according to your instructions without difficulty. It logged in fine once the new pass was input.

After that, a few times it missed on the first attempt to connect, but was fine when tried again.

Further feedback:

Today I had a look at KIM import, and found it worked very well; faithfully importing the test notes from the designated input_path and multiple input_labels defined in settings.cfg.

As you know, Keep doesn't render markdown, so it might be convenient for the user to allow import on the .txt extension as well as .md. If it's an easy matter to do so?


OS: Solus x86_64
Host: Inspiron 3581
Kernel: 6.3.8-240.current
Shell: bash 5.1.16
Resolution: 1366x768
DE: Budgie 10.7.2
WM: Mutter(Budgie)
Terminal: gnome-terminal
CPU: Intel i3-7020U (4) @ 2.300GHz
GPU: Intel HD Graphics 620
Memory: 7947MiB / 15869MiB