C# Microsoft Graph无需每次登录或长时间使用令牌

C# Microsoft Graph无需每次登录或长时间使用令牌,c#,microsoft-graph-api,C#,Microsoft Graph Api,我正在编写一个windows服务应用程序,该应用程序可以在后台运行,无需用户交互,我希望该应用程序将使用Microsoft.Graph api将文件上载到OneDrive。我知道如何从代码登录,也成功地上传了文件 我从简单的控制台应用程序开始,当我登录时,有一些Windows窗口询问用户名和密码,然后我填写用户名和密码,从服务器响应中获得一些令牌。大约一个小时后,代币开始升值 我怎样才能使令牌在很长一段时间内被释放,就像monthes一样,我的目标是我不想每次都在windows的窗口中登录 您无

我正在编写一个windows服务应用程序,该应用程序可以在后台运行,无需用户交互,我希望该应用程序将使用Microsoft.Graph api将文件上载到OneDrive。我知道如何从代码登录,也成功地上传了文件

我从简单的控制台应用程序开始,当我登录时,有一些Windows窗口询问用户名和密码,然后我填写用户名和密码,从服务器响应中获得一些令牌。大约一个小时后,代币开始升值

我怎样才能使令牌在很长一段时间内被释放,就像monthes一样,我的目标是我不想每次都在windows的窗口中登录


您无法控制令牌的生存期。由租户管理员控制的

对于守护进程/服务,您最可能需要的是“仅应用程序”令牌。这使用了一个稍有不同的OAuth授权,称为客户端凭据,与您今天使用的授权码授权不同,它不需要用户登录。您可以在下的文档中阅读更多关于此的信息

如果您想继续使用“应用+用户”令牌(即授权码授予),则需要通过请求脱机访问范围来获取刷新令牌。您需要将此刷新令牌存储在本地计算机上(我强烈建议您)。然后,您可以在需要时将该刷新令牌交换为新的访问令牌。您可以在下面的文档中找到有关刷新令牌的详细信息