Android- One Note访问令牌刷新



OneNote提供一个API来添加注释到OneNote。要做到这一点,我需要做身份验证,以获得用户访问令牌,并使用此令牌来添加新的说明和其他东西。身份验证是通过让用户输入他的Microsoft帐户和密码来完成的。

问题是访问令牌在一小时后过期,所以用户每次进入应用程序时都必须正确地进行身份验证,我不希望这样。

我已经阅读了OneNote API指南,我发现他们这样说:

OneNote API所需的作用域是最小的office.onenote_create。使用该作用域接收的令牌只能有效期为一小时,所以我们建议您也申请王。offline_access范围。如果用户授予你的应用访问权限,令牌可以刷新最多一年,或者直到用户撤销他们的许可。您可以在Live Connect中找到更深入的信息开发者中心范围和权限文档。

链接

我明白你可以使访问令牌刷新,我已经添加了"wl"。Offline_access"在范围内,但我仍然不知道如何使访问令牌刷新。

当您请求web时。Offline_access,您还将获得一个刷新令牌。您的访问令牌仍然每小时过期一次,但您可以使用刷新令牌(有效期为1年)来交换新的访问令牌。这是标准的OAuth 2.0模式

有关如何刷新访问令牌的文档,请参阅此处的文档::http://msdn.microsoft.com/en-us/library/dn631818.aspx

在该页上搜索"refresh"。为方便起见,我在这里粘贴一段文档:

POST https://login.live.com/oauth20_token.srf    
Content-type: application/x-www-form-urlencoded
client_id=CLIENT_ID&client_secret=CLIENT_SECRET&redirect_uri=REDIRECT_URI&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

另外,如果你看一下GitHub上的OneNote Developer示例,你还可以看到如何在各种平台上进行令牌刷新。

希望对你有帮助。

詹姆斯(@jmslau)

最新更新