C# 如何使用已通过身份验证的访问令牌启动SheetService,以便我不';您不必启动新的身份验证

C# 如何使用已通过身份验证的访问令牌启动SheetService,以便我不';您不必启动新的身份验证,c#,.net,google-sheets,google-oauth,google-sheets-api,C#,.net,Google Sheets,Google Oauth,Google Sheets Api,我已经在我的应用程序的另一层中为google sheets提供了一个经过身份验证的作用域,并且希望在不再次启动SheetService对象的情况下重用此身份验证,我只需将已经通过身份验证的令牌传递给将处理电子表格的层 我使用的是.NETFramework4.5.2和GoogleSheetsSDK,可以在 //来自谷歌的示例: 用户凭证; 使用(var)流= 新文件流(“credentials.json”、FileMode.Open、FileAccess.Read)) { //文件token.js

我已经在我的应用程序的另一层中为google sheets提供了一个经过身份验证的作用域,并且希望在不再次启动SheetService对象的情况下重用此身份验证,我只需将已经通过身份验证的令牌传递给将处理电子表格的层

我使用的是.NETFramework4.5.2和GoogleSheetsSDK,可以在

//来自谷歌的示例:
用户凭证;
使用(var)流=
新文件流(“credentials.json”、FileMode.Open、FileAccess.Read))
{
//文件token.json存储用户的访问和刷新令牌,并被创建
//首次完成授权流时自动执行。
字符串credPath=“token.json”;
凭证=GoogleWebAuthorizationBroker.AuthorizationAsync(
GoogleClientSecrets.Load(stream.Secrets),
范围,
“用户”,
取消令牌。无,
新文件数据存储(credPath,true))。结果;
Console.WriteLine(“凭证文件保存到:”+credPath);
}
//创建GoogleSheetsAPI服务。
var service=new SheetsService(new BaseClientService.Initializer()
{
HttpClientInitializer=凭证,
ApplicationName=ApplicationName,
});
//我需要什么
//创建GoogleSheetsAPI服务。
var service=new SheetsService(new BaseClientService.Initializer()
{
HttpClientInitializer=**已存在\u令牌**,
ApplicationName=ApplicationName,
});

如果您将凭据存储/序列化为JSON并存储在某处,您不能简单地将其反序列化为UserCredential对象并将其用于HttpClientInitializer吗?将客户端实例传递到其他层。@Jon的想法是负责身份验证的层是DMZ(没有防火墙的网络区域),使用身份验证令牌的部分负责防火墙内的请求或类似的请求。