图 API - 可访问个人 Microsoft 帐户的守护程序应用程序(Azure AD V2.0 端点)

Graph API - Daemon App with Access to a Personal Microsoft Account (Azure AD V2.0 endpoint)

我正在尝试创建一个可以访问我的个人 Microsoft 帐户的守护程序(仅限代码,仅限服务器)应用程序。我无法弄清楚如何获得不会过期的 Access_Token(或 refresh_token)。

我可以使用此处详述的 "adminconsent" 端点为我的企业 (Office 365) 帐户创建一个有效的非过期(管理员仅登录一次)守护程序应用程序:https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-protocols-oauth-client-creds/ or here: https://blogs.msdn.microsoft.com/tsmatsuz/2016/10/07/application-permission-with-v2-endpoint-and-microsoft-graph/。不幸的是,我无法将 "adminconsent" 端点与我的个人帐户一起使用 -- returns "This operation can only be performed by an administrator" 错误。有什么方法可以为我的个人帐户启用管理员同意吗?

对于我的个人帐户,我可以使用 "authorize" 端点(详见此处:https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-scopes/),它 return 是一个代码(过期),可用于获取"access_token";这在 Graph API 中运行良好——直到 access_token 过期(3600 秒)。它不 return 一个 "refresh_token"。因此,在 code/token 过期后,它会要求用户重新登录。我如何使用授权端点获取只能通过代码刷新的令牌?

包括 offline_access 范围以获取刷新令牌。请务必将您的刷新令牌替换为每次刷新时返回的新令牌。