Jump to content

david_navigator

Level 2
  • Posts

    16
  • Joined

  • Last visited

About david_navigator

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

david_navigator's Achievements

4

Reputation

  1. Not quite. WMI is used by 100's of apps and it's only the calls from Evernote that cause this issue. However the fact that other users aren't experiencing the same issue is interesting and points to a combination of something on my machine and Evernote doing something unusual. I have raised a ticket with Evernote but 10 days later no response - which considering I'm a corporate paying customer, is abysmal service.
  2. Yes it is part of the Windows Management Instrumentation infrastructure (Microsoft's implementation of WBEM). Examining the call stack and using PM I can see quite clearly that it is Evernote that is directly launching this exe. Furthermore, kill Evernote and the popups stop. Restart Evernote and they recommence.
  3. What would be really useful in these forums would be a flag "seen by Evernote", so at least we'd know if they were aware of a specific post.
  4. He has a twitter account where he posts frequently about Evernote - maybe you could invite him to these forums ?
  5. Approximately once a minute Evernote runs an external Windows application that grabs the focus and thus makes working on the computer impossible. Technical Diagnosis ================ The most recent update for Evernote is making a call to the WMI which in turn is running wmic_copy.exe as a foreground task. This is running approximately once per minute and when it runs it grabs the focus away from any other app, making it very difficult to carry out any other work. See video here https://Navigator.tinytake.com/msc/OTQzMzU2M18yMzAyMDE4MA - at approx 25 seconds you can see exactly what is happening. Is anyone else experiencing the same issue ? An Evernote reinstall makes no difference. I submitted this as an urgent issue to Evernote support 3 days ago, but other than the useless automated response, I've had no human reply.
  6. I got such poor support over an issue a couple of weeks ago that I contacted the product manager directly and oddly the support was suddenly supplied to the level I'd expect. Shouldn't have to be this way.
  7. After much toing and froing with Evernote support, I've eventually got some node.js code that does what I want. Posted here for the next poor developer that comes along... This code prompts the user for a Notebook Name and a Note Name and then sets/resets the ContentClass field, which effectively changes the note between read-only & read write. There's no UI, but as this is just for my use, I'm happy doing everything via the command line. const express = require('express'); const session = require('cookie-session'); const Evernote = require('evernote'); const app = express(); const port = process.env.PORT || 3000; const prompt = require('prompt-sync')(); app.use(session({ name: 'session', keys: ['a-secret-key'], maxAge: 24 * 60 * 60 * 1000 * 365 })); // Use / to redirect to login and obtain oauth token app.get('/', (req, res) => { console.log('login'); var callbackUrl = "http://localhost:3000/oauth_callback"; var client = new Evernote.Client({ consumerKey: "XXXXXX", consumerSecret: "YYYYYY", sandbox: false, }); client.getRequestToken(callbackUrl, function (error, oauthToken, oauthTokenSecret) { if (error) { console.error(error); } req.session.oauthToken = oauthToken; req.session.oauthTokenSecret = oauthTokenSecret; res.redirect(client.getAuthorizeUrl(oauthToken)); }); }); // Callback for oauth app.get('/oauth_callback', (req, res) => { console.log('oauth_callback'); req.session.oauthVerifier = req.query.oauth_verifier; var client = new Evernote.Client({ consumerKey: "XXXXXX", consumerSecret: "YYYYYY", sandbox: false, }); client.getAccessToken(req.session.oauthToken, req.session.oauthTokenSecret, req.session.oauthVerifier, function (error, oauthToken, oauthTokenSecret, results) { if (error) { console.error("Get Access Token error"); console.error(error); } else { // store the access token somewhere req.session.oauthToken = oauthToken; req.session.oauthTokenSecret = oauthTokenSecret; // Redirect to tests res.redirect('/tests'); } }); }); // Page to run tests to query UserStore to get basic user information and NoteStore to read the first note in the default notebook app.get('/tests', async (req, res) => { try { authenticatedClient = new Evernote.Client({ token: req.session.oauthToken, sandbox: false, china: false, }); console.log("Get UserStore"); const userStore = authenticatedClient.getUserStore(); console.log("Get User"); const user = await userStore.getUser(); console.log(`Hello ${user.username}`); console.log(user); console.log("Get NoteStore"); const noteStore = authenticatedClient.getNoteStore(); console.log("List notebooks"); const notebooksList = await noteStore.listNotebooks(); // console.log(notebooksList); // const notebook = notebooksList.find(n => n.defaultNotebook); const NotebookName = prompt('What is the notebook name?'); const notebook = notebooksList.find(n => n.name === NotebookName); if (notebook == undefined) { console.log(`Could not find notebook with name ${NotebookName}`); res.send("Test could not be completed"); return; } // "Example: 01. Application Review" console.log(`Get notebook ${notebook.name}`); var filter = new Evernote.NoteStore.NoteFilter({ notebookGuid: notebook.guid, ascending: true, }); const spec = new Evernote.NoteStore.NotesMetadataResultSpec({ includeTitle: true, includeAttributes: true, }); const metadata = await noteStore.findNotesMetadata(filter, 0, 500, spec); console.log(metadata); // Read first note // const note = metadata.notes[0]; const NoteName = prompt('What is the note title?'); const note = metadata.notes.find(n => n.title === NoteName); if (note == undefined) { console.log(`Could not find note with title ${NoteName}`); res.send("Test could not be completed"); return; } console.log(`Read note ${note.title}`); const noteContent = await noteStore.getNote(note.guid, true, true, true, true); console.log(`Read class ${note.attributes.contentClass}`); if (note.attributes.contentClass == undefined) { note.attributes.contentClass = "navigator.test"; } else { note.attributes.contentClass = undefined; } await noteStore.updateNote(note); console.log(`Note updated`); console.log(noteContent); } catch (e) { console.error("Error"); console.error(e); } res.send("Tests done. Take a look at the console."); }); // Start the server app.listen(port, () => { console.log(`Server is running on port ${port}`); console.log(`http://localhost:${port}`); });
  8. @hefty-pie I'm not a python developer, but I'm looking through your code trying to understand it. Something I don't get is oauth_body_hash = generate_body_hash(body) Haven't you set the value of body to an empty byte string 3 lines previously ?
  9. @hefty-pie many thanks for this. I'll try it tomorrow when I'm back in the office. Please post more info as you manage to progress. Everyone else, this is the place that Evernote tells developers to post questions & issues - I wish there was a more specific topic. This is the kind of response you get from an email to DevSupport@ - and all I was doing was reporting an error in the API documentation. The Developer Forum mentioned below is a hyperlink to this topic. I'm guess there used to be a specific developer topic as googling for help pointed to these two forum posts http://discussion.evernote.com/topic/30584-here-is-a-net-oauth-assembly/ https://discussion.evernote.com/topic/18710-access-token-secret-returning-blank/ - but clicking on either simply gives a "You do not have permission error". I raised this with regular Evernote support and they just sent a boiler plate response which didn't have anything to do with answering my question about how to access these posts. As far as I can see the developer documentation and SDK's are full of errors and omissions. I've been a developer for over 30 years and I can hand on heart state that I've never come across such a poor level of support for third party developers. For those of you who aren't interested in these API specific questions, I'm sure there's a way to ignore them, but for the time being, it's the only place that developers can get some help. Cheers David
  10. That's what I thought, but Evernote Developer Support points developers to this forum.
  11. I'm finding that just trying step 1 Generate a Temporary Token through Postman is also returning a 401. Let me know if you get anywhere.
  12. >If a specific tag locks the note can’t you search on the tag, then select all and just remove it? Yes that's my Plan, but I don't know how much I trust Evernote. I just tried it with 4 notes and EN displayed "removing Tag from 2 notes", it then removed it from all 4 !!
  13. > I'd be making plans to unlock the notes before Filterize ceases to work with Evernote. That's the plan, but with 10,000 Locked notes, there's bound to be some that get overlooked.
  14. https://dev.evernote.com/doc/articles/read_only_notes.php#Examples is how they achieved it. Sadly my emails about this to Filterize have gone unanswered, thus asking in here.
×
×
  • Create New...