我正在使用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(对象发送者,事件参数和)
1条答案
按热度按时间laik7k3q1#
对于遇到同样错误的人来说,问题很明显,与google API的连接是由服务器建立的,它没有互联网接入,所以它永远无法验证令牌。