【问题标题】:Android- One Note Access Token refreshAndroid- One Note 访问令牌刷新
【发布时间】:2014-10-13 16:47:31
【问题描述】:

OneNote 提供了一个 API 来将笔记添加到 OneNote。为此,我需要进行身份验证以获取用户访问令牌并使用此令牌添加新注释和其他内容。身份验证是通过让用户输入他的 Microsoft 帐户和密码来完成的。

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

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

OneNote API 所需的范围至少为 office.onenote_create。您使用该范围收到的令牌只会 有效期为一小时,因此我们建议您同时要求 wl.offline_access 范围。如果用户授予您的应用访问权限,则令牌 最多可以刷新一年,或者直到用户撤销他们的 允许。您可以在 Live Connect 中找到更深入的信息 开发者中心范围和权限文档。

这里是link

我知道您可以刷新访问令牌,并且我已经在范围中添加了“wl.offline_access”,但我仍然不知道如何刷新访问令牌。

【问题讨论】:

    标签: android api access-token onenote


    【解决方案1】:

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

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

    在该页面上搜索“刷新”。为方便起见,我在此处粘贴文档的 sn-p:

    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
    

    另外,如果您查看OneNote Developer samples on GitHub,您还可以看到如何在各种平台上进行令牌刷新。

    希望对您有所帮助。

    詹姆斯 (@jmslau)

    【讨论】:

    • 非常感谢您的回答非常简单和有用
    猜你喜欢
    • 2019-06-29
    • 2020-07-12
    • 2019-01-13
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 2020-01-09
    相关资源
    最近更新 更多