我在Outlook中有一个VBA宏,它将选定的邮件移动到我的存档文件夹中,并获取该邮件的URL。我也想把这个消息添加到Evernote,比如" Save to Evernote"加载项并自动将邮件添加到邮件中作为邮件的网址。
我下载了Evernote Cloud SDK的COM设置: https://github.com/evernote/evernote-cloud-sdk-windows/tree/master/COM%20Setup
然后我注册并收到了此应用程序的Evernote API密钥(消费者密钥和消费者密钥)。
我在沙箱中有一个帐户。
我添加了对Evernote Cloud SDK的引用,并编写了一些简单的代码来测试它是否正常工作。
但是,检查SharedSession.IsAuthenticated
时,以下代码失败。
代码:
Public Sub CreateNote()
Const Key = "MY KEY"
Const Secret = "MY SECRET"
Const Host = "sandbox.evernote.com"
Dim evernoteSession As New ENSessionForCOM
Call evernoteSession.SetSharedSessionConsumerKey(Key, Secret, Host)
If evernoteSession.SharedSession.IsAuthenticated = False Then
evernoteSession.SharedSession.AuthenticateToEvernote
End If
End Sub
错误:
Run-time error '-2147024809 (80070057)'
Cannot create shared Evernote session without either a valid
consumer key/secret pair, or a developer token set.
我想也许我太快尝试了,但已经快24小时了。我做错了什么?
答案 0 :(得分:0)
经过大量的反复试验,我终于找到了解决方案。我需要创建一个ENSessionForCOM
对象,而不是ENSessionAdvancedForCOM
。所以现在代码看起来像这样:
Public Sub CreateNote()
Const Key = "MY KEY"
Const Secret = "MY SECRET"
Const Host = "sandbox.evernote.com"
Dim evernoteSession As New ENSessionAdvancedForCOM
Call evernoteSession.SetSharedSessionConsumerKey(Key, Secret, Host)
If evernoteSession.SharedSession.IsAuthenticated = False Then
evernoteSession.SharedSession.AuthenticateToEvernote
End If
End Sub
它现在已经过身份验证。