Встраивание невидимых метаданных в EDAMNote с помощью iOS Evernote API - PullRequest
2 голосов
/ 02 января 2012

Я интегрирую Evernote с приложением для iOS, мой клиент хочет, чтобы приложение могло синхронизировать некоторую информацию, генерируемую пользователем с Evernote. Для этого варианта использования будет одна записная книжка, и для каждого элемента приложения, который будет храниться в облаке, будет создана одна заметка. Для успешной синхронизации каждая заметка должна хранить некоторые метаданные, которые должны интерпретироваться приложением и не отображаться. через веб-интерфейс или настольные / мобильные клиенты.

Я нашел 2 возможных решения, но они не делают меня полностью счастливым:

РЕШЕНИЕ 1:

Создать теги для хранения метаданных, связанных с одной заметкой, для каждого поля метаданных будет новый тег, такой как «myapp_title» или «myapp_info1».

PRO: приложение может загружать все заметки из блокнота и извлекать информацию, хранящуюся в тегах.

CON: учетная запись пользователя будет заполнена тегами, которые имеют смысл только для приложения, теги следует удалять, если элементы приложения удалены ...

РЕШЕНИЕ 2:

Включите в конце примечания часть, которая будет интерпретироваться только приложением, какой-то предварительно отформатированный текст, который должен быть прочитан только приложением.

PRO: не нужно портить теги

CONS: Пользователь может удалить эту информацию по ошибке (или намеренно). Видно пользователю ...

Ребята, вы знаете решение для этого? Разрешает ли API этот вид «скрытых» метаданных?

Каждая помощь или подсказка очень помогли бы.

Спасибо

Ответы [ 2 ]

2 голосов
/ 03 января 2012

Используйте новое поле Note.attributes.applicationData: http://discussion.evernote.com/topic/22731-api-updated/

1 голос
/ 03 января 2012

Как ответил на форуме разработчиков , SethH.

Вы можете добавить метаданные в поле Note.attributes.sourceApplication , которое наши приложения не используют или не предоставляют пользователю. Пожалуйста, вставьте ваши метаданные в форму consumerkey:{metadata} и играйте с данными, которые другие приложения могут хранить в этом поле.

Есть ли какой-либо предпочтительный разделитель, который можно использовать для отделения от метаданных, оставленных другими приложениями, или он оставлен на усмотрение каждого разработчика?

Пойдем с точкой с запятой:

consumerkey:{metadata};consumerkey:{metadata}
...