2016-04-17 66 views
0

我正在用Evernote API构建Python web应用程序。当用户登录时,他们被重定向到Evernote网站上的一个页面来授权应用程序。当他们回来一切正常(可以看到和编辑笔记等)如何避免用户每次都需要重新授权Evernote?

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

我读了Evernote forums我需要保存访问令牌和不需要的url来实现这一点。我现在将这些保存到第一次成功授权后的用户帐户中。

但是,如何使用访问令牌和不需要url来授权?

我在印象笔记网站上找到了这个示例代码,它应该可以达到这个目的,但它是用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和访问令牌,你如何使用它们重新授权?

回答

0

如果您有访问令牌,您将使用它作为EvernoteClient类的构造函数参数。

例如:

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

+0

我再次尝试过这种方式,从来没有想过它会工作......但这次它做到了!我将访问令牌保存在数据库中并使用它,现在我可以跳过认证重定向。谢谢您的帮助! :-)我对Evernote的一些论坛帖子感到非常困惑。 –

相关问题