Evernote SetSharedSessionConsumerKey 在 Outlook VBA 宏中不起作用
Evernote SetSharedSessionConsumerKey Does not Work in Outlook VBA Macro
我在 Outlook 中有一个 VBA 宏,它可以将选定的邮件移动到我的存档文件夹中,并为该邮件获取一个 url。我还想像 "Save to Evernote" 加载项一样将消息添加到 Evernote,并自动将 url 添加到消息中作为笔记的 url。
我下载了 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 小时了。我做错了什么?
经过反复试验,我终于找到了解决办法。我需要创建一个 ENSessionAdvancedForCOM
对象,而不是 ENSessionForCOM
。所以现在代码看起来像这样:
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
现在已经通过身份验证。
我在 Outlook 中有一个 VBA 宏,它可以将选定的邮件移动到我的存档文件夹中,并为该邮件获取一个 url。我还想像 "Save to Evernote" 加载项一样将消息添加到 Evernote,并自动将 url 添加到消息中作为笔记的 url。
我下载了 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 小时了。我做错了什么?
经过反复试验,我终于找到了解决办法。我需要创建一个 ENSessionAdvancedForCOM
对象,而不是 ENSessionForCOM
。所以现在代码看起来像这样:
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
现在已经通过身份验证。