Skip to content

Instantly share code, notes, and snippets.

@sliceofbytes
Created February 14, 2018 22:16
Show Gist options
  • Star 27 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save sliceofbytes/f5eab8911c761ff6760362beb17e6477 to your computer and use it in GitHub Desktop.
Save sliceofbytes/f5eab8911c761ff6760362beb17e6477 to your computer and use it in GitHub Desktop.
Add Text Files as Google Keep Notes
#Import a directory of text files as google keep notes.
#Text Filename is used for the title of the note.
import gkeepapi, os
username = 'username@gmail.com'
password = 'your app password'
keep = gkeepapi.Keep()
success = keep.login(username,password)
dir_path = os.path.dirname(os.path.realpath(__file__))
for fn in os.listdir(dir_path):
if os.path.isfile(fn) and fn.endswith('.txt'):
with open(fn, 'r') as mf:
data=mf.read()
keep.createNote(fn.replace('.txt',''), data)
keep.sync();
@tu-design
Copy link

tu-design commented Mar 9, 2022

I was facing two errors: 1) Notes not copying due to ascii 2) Notes not copying due to encoding, you can solve them as follows if you have any different encode of text files (here: UTF8) and also added a print option for logs to check which file gives the error.

import gkeepapi, os
username = 'username@gmail.com'
password = 'app password'

keep = gkeepapi.Keep()
success = keep.login(username,password)
dir_path = os.path.dirname(os.path.realpath(__file__))
for fn in os.listdir(dir_path):
	print(fn)
	if os.path.isfile(fn) and fn.endswith('.txt'):
		with open(fn, encoding="utf8") as mf:
			data=mf.read()
			keep.createNote(fn.replace('.txt',''), data)
			keep.sync();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment