Не удается создать записную книжку и перенести файлы в evernote

#ruby-on-rails #ruby #evernote

#ruby-on-rails #ruby #evernote

Вопрос:

Я разрабатываю веб-приложение, и мне нужно создать записную книжку EverNote и перенести в нее некоторые файлы.

Я могу аутентифицировать пользователя из EverNote, но не могу создать записную книжку. Я также не понимаю, как передавать файлы в эту записную книжку.

Вот код аутентификации. URL API

Для создания записной книжки:

 noteStore.createNotebook(access_token.token, "my_notebook")
  

Ошибка:

 An error occurred: undefined method `write' for "my_notebook":String
  

Редактировать

следуя примеру Сета

       notebook = Evernote::EDAM::Type::Notebook.new()
          notebook.name = "my_notebook3"
          x= noteStore.createNotebook(access_token.token, notebook)
         note = Evernote::EDAM::Type::Note.new()
         note.notebookGuid = x.guid
         note.title="my note"
         y=noteStore.createNote(access_token.token,note)
  

работаем над передачей файлов в этой заметке.

Ответ №1:

Второй параметр — это структура записной книжки, а не строка. Вам нужно сделать что-то вроде:

 notebook = Evernote::EDAM::Type::Notebook.new()
notebook.name = "my_notebook"
noteStore.createNotebook(access_token.token, notebook)
  

Записные книжки Evernote содержат только заметки, и к заметкам могут быть прикреплены файлы. Чтобы прикрепить файл к новой заметке, вам необходимо создать ресурс и включить его в заметку:

 filename = # the file that you want to attach
image = File.open(filename, "rb") { |io| io.read }
hashFunc = Digest::MD5.new
hashHex = hashFunc.hexdigest(image)

data = Evernote::EDAM::Type::Data.new()
data.size = image.size
data.bodyHash = hashHex
data.body = image

resource = Evernote::EDAM::Type::Resource.new()
resource.mime = # the appropriate MIME type
resource.data = data
resource.attributes = Evernote::EDAM::Type::ResourceAttributes.new()
resource.attributes.fileName = filename

note = Evernote::EDAM::Type::Note.new()
note.title = "Title"
note.content = '<?xml version="1.0" encoding="UTF-8"?>'  
  '<!DOCTYPE en-note SYSTEM "http://xml.evernote.com/pub/enml2.dtd">'  
  '<en-note>'  
  '<en-media type="'   resource.mime   '" hash="'   hashHex   '"/>'  
  '</en-note>'
note.resources = [ resource ]

createdNote = noteStore.createNote(authToken, note)
  

Пример кода в ZIP-файле Evernote API демонстрирует это. Вы можете загрузить ZIP-файл с http://www.evernote.com/about/developer/api /.

Комментарии:

1. и как можно перенести файлы в эту записную книжку? Мне нужно перенести несколько файлов.

2. op специально сказал, что хочет перенести несколько файлов. Это будет работать только для вложений, встроенных в виде содержимого.