要注意内容的HTML

时间:2017-06-02 05:08:45

标签: c# api evernote

当我尝试将一些HTML文本写入Note时,我有错误(我认为因为HTML有一些禁止标记):

Evernote.EDAM.Error.EDAMUserException

当我使用相同的HTML时:

ENNote.Content = ENNoteContentAdvanced.NoteContentWithSanitizedHTML(HTML);

它工作正常。

但我需要通过ID获取备注,以便进行更新。我不明白我怎么能正确地写HTML注意(在HTML中我有表),或者通过GUID捕获ENNote。

UPD。

我在Evernotes和Microsoft Exchange约会(MA)之间编写同步Notes(EN)服务。当用户创建/更新EN时,我的服务创建/更新MA。当用户更新MA(从Evernote创建)时,我的服务更新EN。对于链接,我使用EN GUID(我将它存储在扩展属性的MA中)。所以我可以使用以下代码找到EN:

List<ExtendedProperty> guids = appointment.ExtendedProperties.Where(ap => ap.PropertyDefinition == guidProp).ToList();

if (guids.Count > 0)
{
    string guid = (string)guids.First().Value;

    Note sNote = store.GetNote(guid, true, false, false, false);
}

但是当我尝试设置EN内容时,我有错误: 错误代码“ENML_VALIDATION” 参数=“文档无效:未找到语法”

我无法在MA中存储ENNoteRef,因为它是对象,而不是字符串。所以我需要通过GUID(不是ENNoteRef)找到ENNote,或者将一些东西设置为Note.Content而不会丢失表格。

1 个答案:

答案 0 :(得分:0)

如果您提供更多围绕ENNote.Content调用的代码,那么这将有所帮助,因此我们有更多的上下文。

根据您提供的代码:一旦您使用 NoteContentWithSanitizedHTML 功能创建了ENNote及其内容,您就可以将该注释添加到Evernote服务中如下所示,对吗?

ENNoteRef myNoteRef = ENSession.SharedSession.UploadNote(ENNote, null);

执行此操作时,您将获得一个NoteRef对象,该对象是对Evernote服务中实际特定注释的引用。 NoteRef对象具有 Guid 属性,这是您正在寻找的属性。