如何避免用户每次都必须重新授权 Evernote?

How to avoid user having to re-authorize Evernote every time?

我正在使用 Evernote API 构建一个 Python 网络应用程序。当用户登录时,他们将被重定向到 Evernote 网站上的一个页面以授权该应用程序。当他们回来时一切正常(可以查看和编辑笔记等)

现在的挑战是避免用户每次登录时都必须将用户重定向到 Evernote 站点。

我在 Evernote forums 上读到我需要保存访问令牌和 notestore url 才能实现此目的。我现在在第一次成功授权后将这些保存到用户帐户中。

但如何使用访问令牌和notestore url 进行授权?

我在 Evernote 网站上找到了这个示例代码,它应该可以实现这一点,但它在 Java 中,我似乎无法在 Python 中使用它。

// Retrieved during authentication:  
String authToken = ...  
String noteStoreUrl = ...  

String userAgent = myCompanyName + " " + myAppName + "/" + myAppVersion;  

THttpClient noteStoreTrans = new THttpClient(noteStoreUrl);  
userStoreTrans.setCustomHeader("User-Agent", userAgent);  
TBinaryProtocol noteStoreProt = new TBinaryProtocol(noteStoreTrans);  
NoteStore.Client noteStore = new NoteStore.Client(noteStoreProt, noteStoreProt);

基本上,如果您从以前的授权中获得了 notestore url 和访问令牌,您如何使用它们重新授权?

如果您有访问令牌,您将使用它作为 EvernoteClient class.

的构造函数参数

例如:

client = EvernoteClient(token=your_access_token)
note_store = client.get_note_store()
notebooks = note_store.listNotebooks();
for n in notebooks:
    print n.name

有关更多示例,请查看 Python Quick-start Guide