iis Google Sheet API -在ASP.NET中发送请求时出错

brqmpdu1  于 2023-01-30  发布在  Go
关注(0)|答案(1)|浏览(110)

我正在使用Google Sheets API从工作表中读取信息。在Visual Studio本地,代码工作正常,我能够获得所有信息。
然而,当我在IIS上实现我的网站时,我得到以下错误:
请求环境错误(发送请求时出错)
异常消息并不是非常具体地说明正在发生什么以及发生在哪里。
我不知道Visual Studio执行的IIS是否有不同的配置,这就是为什么在本地工作。
这是我的密码

try {
         string path = Server.MapPath("Updating");

                ServiceAccountCredential credential;
                string[] Scopes = { SheetsService.Scope.Spreadsheets };
                string serviceAccountEmail = "account.com";
                string jsonfile = Path.Combine(path, "cred.json");

                using (Stream stream = new FileStream(jsonfile, FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    credential = (ServiceAccountCredential)
                        GoogleCredential.FromStream(stream).UnderlyingCredential;

                    var initializer = new ServiceAccountCredential.Initializer(credential.Id)
                    {
                        User = serviceAccountEmail,
                        Key = credential.Key,
                        Scopes = Scopes
                    };
                    credential = new ServiceAccountCredential(initializer);
                }
                var service = new SheetsService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName = ApplicationName,
                });
                String spreadsheetId = "1zkqBR9svQInKwM9hqPzrzhOFQB....";

                string range = "Info!A:D";
                string firmasRange = "Info!A:D";

                SpreadsheetsResource.ValuesResource.GetRequest request = service.Spreadsheets.Values.Get(spreadsheetId, range);
                var response = request.Execute(); //It seems that the error happens here

     
                IList<IList<Object>> values = response.Values;

                sincronizeSheet(values);
}

这是堆栈跟踪
编译器服务.任务等待.句柄不成功和调试器通知(任务任务)en Google.Apis.Auth.OAuth2.服务帐户凭据.d__33.下一步()---在异常产生的过程中查找前面的异常---在系统中。运行时。异常服务。异常调度信息。抛出()en系统.运行时.编译器服务.任务等待.句柄不成功和调试器通知(任务任务)en Google.Apis.Auth.OAuth2.令牌刷新管理器.d__12.移动下一步()---在异常产生的过程中查找前面的异常---在系统中。运行时。异常服务。异常调度信息。抛出()en系统.运行时.编译器服务.任务等待.处理不成功和调试器通知(任务任务)en Google.Apis.Auth.OAuth2.令牌刷新管理器.〈g__LogException|10_0〉d. MoveNext()---查找在生产异常时前面的错误---系统.运行时.异常服务.异常调度信息. Throw()在谷歌. API.请求.客户端服务请求'1.Execute()在施乐_Mailroom. CoordinarCellular. ButtonSincronizar_Click(对象发送者,事件参数和)

laik7k3q

laik7k3q1#

对于遇到同样错误的人来说,问题很明显,与google API的连接是由服务器建立的,它没有互联网接入,所以它永远无法验证令牌。

相关问题