Authentication 生成Evernote专用链接的正确方法是什么?
我想通过编程生成到Evernote便笺的私有便笺链接。(在我的场景中,只有我作为开发人员使用我的auth令牌进行身份验证—不涉及OAuth,但我假设过程是相同的。) 我在上读过一篇文章“注释链接-从任何地方直接链接到单个注释”,但它涵盖了evernote://... 仅链接 生成私有Evernote链接的正确方法是什么Authentication 生成Evernote专用链接的正确方法是什么?,authentication,evernote,Authentication,Evernote,我想通过编程生成到Evernote便笺的私有便笺链接。(在我的场景中,只有我作为开发人员使用我的auth令牌进行身份验证—不涉及OAuth,但我假设过程是相同的。) 我在上读过一篇文章“注释链接-从任何地方直接链接到单个注释”,但它涵盖了evernote://... 仅链接 生成私有Evernote链接的正确方法是什么 这取决于你想做什么。https://链接将在浏览器中打开,而evernote://链接将在客户端应用程序中打开(如果已安装) 私下共享便条意味着你将便条共享给个人。只有这些个人在
希望这能有所帮助。您必须共享一张便条,并且只将URL发送给有问题的人。Evernote URL的设计目的是防止人们猜测它们,因此,如果您只与其他人共享URL,您可以合理地假设他们是唯一可以访问注释的人。URL方案如下所示
[EN_URL]/shard/[shardId]/sh/[noteGuid]/[shareKey]
在哪里
- [EN_URL]是您的URL(用于沙箱或生产服务)
- [shardId]Notes用户所在的Shard id(可通过userStore.getUser().shardId访问)
- [noteGuid]是便笺guid(可以通过note.guid访问)
- [shareKey]是共享便笺的共享密钥(从note.shareNote()方法返回)
from evernote.api.client import EvernoteClient
import evernote.edam.type.ttypes as Types
EN_URL="https://sandbox.evernote.com"
evernote_auth_token = "Your auth or dev token here"
client = EvernoteClient(token=evernote_auth_token, sandbox=True)
user_store = client.get_user_store()
note_store = client.get_note_store()
note = Types.Note() #create a note object
#define a sample note
note.title='some title'
note.content = '<?xml version="1.0" encoding="UTF-8"?>'
note.content += '<!DOCTYPE en-note SYSTEM ' \
'"http://xml.evernote.com/pub/enml2.dtd">'
note.content += '<en-note>'+'hi mom!'+'<br/>'
note.content += '</en-note>'
note=note_store.createNote(note) # create the note
user=user_store.getUser(evernote_auth_token)
shardId=user.shardId
shareKey=note_store.shareNote(evernote_auth_token, note.guid)
evernote_url="%s/shard/%s/sh/%s/%s" % (EN_URL,shardId,note.guid,shareKey)
从evernote.api.client导入EvernoteClient
将evernote.edam.type.t类型导入为类型
EN_URL=”https://sandbox.evernote.com"
evernote\u auth\u token=“此处为您的授权或开发令牌”
client=EvernoteClient(令牌=evernote\u auth\u令牌,sandbox=True)
user\u store=client.get\u user\u store()
note\u store=client.get\u note\u store()
note=类型。note()#创建一个note对象
#定义一个示例注释
注意:title='some title'
note.content=“”
注:内容+=“”
note.content+='+'hi mom!'+'
注:内容+=“”
note=note_store.createNote(note)#创建注释
user=user\u store.getUser(evernote\u auth\u令牌)
shardId=user.shardId
shareKey=note\u store.shareNote(evernote\u auth\u令牌,note.guid)
evernote_url=“%s/shard/%s/sh/%s/%s”%”(EN_url,shardId,note.guid,shareKey)
回想起来,我的第一个问题有点愚蠢,因此我将编辑我的问题以删除该问题。关于你在#2中向我提出的问题-你完全正确-我也将为此改写我的问题。这篇文章讨论了evernote://... 我抓起一个指向我自己笔记的链接,看到的格式是:https://*host*.evernote.com/shard/*shardID*/nl/*userid*/*noteguid*确实有效,但由于链接结构可能会发生变化,它感觉很脆弱。我更希望找到一篇关于如何构建link.FYI的Evernote文章,刚才看到shardID已经被弃用。然而,shardID仍然在许多其他文章中被引用。是的,我也注意到了。但是作为它在全新版本的iOS SDK中使用,我想说,现在使用它是非常安全的。我会向Evernote询问这种不稳定的情况,并告知您。非常感谢您,您还可以问一下他们是否有关于如何构建私有网络的正式定义吗http://... 注意链接?我终于在Evernote开发论坛上找到了https://*host*.evernote.com/shard/*shardID*/nl/*userid*/*noteguid*格式确实是规范。如果您编辑您的答案以反映我更改了我的问题(根据我上面的评论-感谢您提出的好观点)并将此格式作为答案,我会将其标记为已接受。我希望获取便笺的私有URL,而不是生成共享便笺的URL。在这种情况下,共享不适用。