private void Form1_Load(object sender, EventArgs e) { // Be sure to put your own consumer key and consumer secret here. ENSession.SetSharedSessionConsumerKey("your key", "your secret"); if (ENSession.SharedSession.IsAuthenticated == false) { ENSession.SharedSession.AuthenticateToEvernote(); } // Get a list of all notebooks in the user's account. List<ENNotebook> myNotebookList = ENSession.SharedSession.ListNotebooks(); // Create a new note (in the user's default notebook) with some plain text content. ENNote myPlainNote = new ENNote(); myPlainNote.Title = "My plain text note"; myPlainNote.Content = ENNoteContent.NoteContentWithString("Hello, world!"); ENNoteRef myPlainNoteRef = ENSession.SharedSession.UploadNote(myPlainNote, null); // Share this new note publicly. "shareUrl" is the public URL to distribute to access the note. string shareUrl = ENSession.SharedSession.ShareNote(myPlainNoteRef); // Create a new note (in the user's default notebook) with some HTML content. ENNote myFancyNote = new ENNote(); myFancyNote.Title = "My first note"; myFancyNote.Content = ENNoteContent.NoteContentWithSanitizedHTML("<p>Hello, world - <i>this</i> is a <b>fancy</b> note - and here is a table:</p><br /> <br/><table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\"><tr><td>Red</td><td>Green</td></tr><tr><td>Blue</td><td>Yellow</td></tr></table>"); ENNoteRef myFancyNoteRef = ENSession.SharedSession.UploadNote(myFancyNote, null); // Delete the HTML content note we just created. ENSession.SharedSession.DeleteNote(myFancyNoteRef); // Create a new note with a resource. ENNote myResourceNote = new ENNote(); myResourceNote.Title = "My test note with a resource"; myResourceNote.Content = ENNoteContent.NoteContentWithString("Hello, resource!"); byte[] myFile = StreamFile("<complete path and filename of a JPG file on your computer>"); // Be sure to replace this with a real JPG file ENResource myResource = new ENResource(myFile, "image/jpg", "My First Picture.jpg"); myResourceNote.Resources.Add(myResource); ENNoteRef myResourceRef = ENSession.SharedSession.UploadNote(myResourceNote, null); // Search for some text across all notes (i.e. personal, shared, and business). // Change the Search Scope parameter to limit the search to only personal, shared, business - or combine flags for some combination. string textToFind = "some text to find*"; List<ENSessionFindNotesResult> myNotesList = ENSession.SharedSession.FindNotes(ENNoteSearch.NoteSearch(textToFind), null, ENSession.SearchScope.All, ENSession.SortOrder.RecentlyUpdated, 500); int personalCount = 0; int sharedCount = 0; int businessCount = 0; foreach (ENSessionFindNotesResult note in myNotesList) { if (note.NoteRef.Type == ENNoteRef.ENNoteRefType.TypePersonal) { personalCount ++; } else if (note.NoteRef.Type == ENNoteRef.ENNoteRefType.TypeShared) { sharedCount ++; } else if (note.NoteRef.Type == ENNoteRef.ENNoteRefType.TypeBusiness) { businessCount ++; } } if (myNotesList.Count > 0) { // Given a NoteRef instance, download that note. ENNote myDownloadedNote = ENSession.SharedSession.DownloadNote(myNotesList[0].NoteRef); // Serialize a NoteRef. byte[] mySavedRef = myNotesList[0].NoteRef.AsData(); // And deserialize it. ENNoteRef newRef = ENNoteRef.NoteRefFromData(mySavedRef); // Download the thumbnail for a note; then display it on this app's form. byte[] thumbnail = ENSession.SharedSession.DownloadThumbnailForNote(myNotesList[0].NoteRef, 120); try { MemoryStream ms = new MemoryStream(thumbnail, 0, thumbnail.Length); ms.Position = 0; System.Drawing.Image image1 = System.Drawing.Image.FromStream(ms, false, false); pictureBoxThumbnail.Image = image1; } catch (Exception ex) { throw new Exception(ex.Message); } } }
public ENNoteRef UploadNote(ENNote note, ENSession.UploadPolicy policy, ENNotebook notebook, ENNoteRef noteToReplace) { if (note == null) { ENSDKLogger.ENSDKLogError("Must specify note"); throw new ENInvalidDataException(); } if (policy == UploadPolicy.Replace && noteToReplace == null || policy == UploadPolicy.ReplaceOrCreate && noteToReplace == null) { ENSDKLogger.ENSDKLogError("Must specify existing ID when requesting a replacement policy"); throw new ENInvalidDataException(); } if (policy == UploadPolicy.Create && noteToReplace != null) { ENSDKLogger.ENSDKLogError("Can't use create policy when specifying an existing note ref. Ignoring."); noteToReplace = null; } if (notebook != null && !notebook.AllowsWriting) { var errorMessage = "A specified notebook must not be readonly"; ENSDKLogger.ENSDKLogError(errorMessage); throw new ArgumentException(errorMessage); } if (!IsAuthenticated) { throw new ENAuthExpiredException(); } // Run size validation on any resources included with the note. This is done at upload time because // the sizes are a function of the user's service level, which can change. if (!note.ValidateForLimits()) { ENSDKLogger.ENSDKLogError("Note failed limits validation. Cannot upload."); throw new ENLimitReachedException(); } ENSessionUploadContext context = new ENSessionUploadContext(); if (noteToReplace != null) { context.Note = note.EDAMNoteToReplaceServiceNoteGUID(noteToReplace.Guid); } else { context.Note = note.EDAMNote(); } context.RefToReplace = noteToReplace; context.Notebook = notebook; context.Policy = policy; context = UploadNote_DetermineDestination(context); return context.NoteRef; }
public ENNote DownloadNote(ENNoteRef noteRef) { if (noteRef == null) { ENSDKLogger.ENSDKLogError("noteRef parameter is required to get download note"); throw new ENInvalidDataException(); } if (!IsAuthenticated) { throw new ENAuthExpiredException(); } // Find the note store client that works with this note. ENNoteStoreClient noteStore = NoteStoreForNoteRef(noteRef); // Fetch by guid. Always get the content and resources. try { Note note = noteStore.GetNote(noteRef.Guid, true, true, false, false); // Create an ENNote from the EDAMNote. ENNote resultNote = new ENNote(note); return resultNote; } catch (Exception) { return null; } }
public ENNoteRef UploadNote(ENNote note, ENNotebook notebook) { return UploadNote(note, UploadPolicy.Create, notebook, null); }
/// <summary> /// Evernoteにファイルをアップロードします /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void uploadButton_Click(object sender, RoutedEventArgs e) { FileList list = this.DataContext as FileList; try { foreach (var f in list.FileNames) { ENNote resourceNote = new ENNote(); resourceNote.Title = "My test note with a resource"; resourceNote.Content = ENNoteContent.NoteContentWithString("Hello, resource!"); byte[] file = File.ReadAllBytes(f); FileInfo fInfo = new FileInfo(f); ENResource resource = new ENResource(file, MimeTypeMap.GetMimeType(fInfo.Extension), fInfo.Name); resourceNote.Resources.Add(resource); ENNoteRef resourceRef = ENSession.SharedSession.UploadNote(resourceNote, null); } } catch (Exception ex) { ModernDialog.ShowMessage("アップロード中にエラーが発生しました。", "お知らせ", MessageBoxButton.OK); return; } ModernDialog.ShowMessage("アップロードが完了しました。", "お知らせ", MessageBoxButton.OK); }