Jump to content

Evernote program to extract/backup attachments


Go to solution Solved by PinkElephant,

Recommended Posts

Hi,

I use Evernote for different things. One is as a document management system and I used to have every document on a cloud drive as well.

Keeping documents in Evernotes and on Cloud Drive in sync is error prone and duplicate work.

Therefore, I created a simple client to download evernote attachments to my local drive.

Check it out: https://github.com/peterquiel/evernote-rsync

Currently, only backup to local drive is supported, but I plan to implement a sync to Evernote as well.

Let me know what you think and if this is of value for you.

Best,

Peter

  • Like 1
Link to comment
  • Level 5*

Hi.  Which version of Evernote are you supporting here?  The Linux client is still in private beta,  and I was under the impression that none of the v10 clients are open to external scripting.  Plus having the attachments stored separately seems wasteful of space - I could see the attraction of a backup of the notes + attachments,  but just the files?  Seems like there'd be a need to mimic the notebook and stack structure so that the attachments don't disappear into a humungous pile of documents and images...

Well done for creating your own support app,  but I'm not sure whether it would ever be applicable for me...

Link to comment
  • Level 5

The easiest way to extract attachments is to export to HTML.

The notes will be there as HTML-coded webpages, the attachments will be exported to a folder holding the attachments. Everything will be wrapped up in a folder. The notes should contain links to the attachments to open them - this however was broken for quite a while. Haven’t tried since a while if this problem was fixed.

But the attachments are there, and can be used, copied or moved elsewhere for further use.

Link to comment
  • 2 weeks later...

> Which version of Evernote are you supporting here?

I'm using the Evernote API. The java SDK (https://github.com/evernote/evernote-sdk-java) is 10 years old. Looks like there was no recent change in their API.
One could think it's outdated or it's stable 😉 

I was under the impression that none of the v10 clients are open to external scripting. 

Yes, you are right. There is no external scripting feature. But this is a self written standalone java program. No installed Evernote-Client needed. Unfortunately, you need to install java.
I plan to provide a single binary file win, mac, and linux.

Another barrier is the fact, that you need to extract an Evernote authorization token from a browser cookie. How to can be found here: https://github.com/peterquiel/evernote-rsync#acquire-evernote-access-token .
Evernote only supports OAuth 1.0 which has no good support for non server to server authentication.  


> Well done for creating your own support app,  but I'm not sure whether it would ever be applicable for me...

Thanks for the feedback. The program is mainly for my usecase and there might be people out there haveing the same problem. Doesn't need to be you 😉 

----

The easiest way to extract attachments is to export to HTML. 

Interesting, but I get a message that you can't select more than 50 notes at once. 

One stack, I'd like to export, has > 1000 notes with attachments. Sync all the Attachments took < 10 min. with ~ 1.5GB of data.   

Furthermore, I'd like to run the export every 2 to 4 weeks. Every succeeding export should be faster, since evernote provides MD5 File Hashes, changes can be detected quickly. 

Does this explain my use case and why HTML export doesn't work for me? 

Thanks for feedack.  

Link to comment
  • Level 5
  • Solution

OK, the API is a different story.

About the 50 notes limit: It is somehow coded into the v10 desktop clients. But it can be raised with a small intervention. I did not get it raised above 1.000, but that’s still a lot. I used to set it to 500. But since it will often be overwritten when updating, I only do it if I want to handle a lot of notes in one go - which happens quite rarely.

And v10 takes longer to process such a large selection, so it is best done in the background while using other programs on the computer.

Link to comment
  • Level 5

That’s how it used to work on my Mac. Haven’t tried in a while, no need currently. It was overwritten by an update a while ago:

The limit can be raised to 500 or more. It will run longer, but requires fewer actions. With 1.000 or close to it it stopped working, so there may be another limit.
  1. Quit Evernote 10 
  2. Open Finder
  3. From the menu bar select Go > Go To Folder...
  4. Paste ~/Library/Application Support/ and press Go.
  5. Locate the folder titled Evernote and open it
  6. Save a copy of the config.json file with an addition like .OLD as a safety copy.
  7. Open the config.json file in a text editor
  8. The "qa" section must be changed to this. If there is no QA section, add this code before the end of the config.json file, inside of the last bracket:
 
"qa": {
"multiSelectionLimit": 500
}
 
  1. Set the number of notes you wish to allow.  There is a limit of about 1,000 maximum so there's no benefit in going for a larger number.  I have it set at 500.
  2. Save the amended file and restart Evernote 10.
 
To speed things up you can go offline before doing operations on a lot of notes. Remember after going back online it needs time to sync all changes with the server. Don’t use EN while it is still syncing
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...