C# 来自AddConditionalFormatRule的错误

C# 来自AddConditionalFormatRule的错误,c#,google-sheets-api,C#,Google Sheets Api,我正在尝试对使用Sheets API创建的电子表格应用条件格式。然而,我的代码中有一部分总是导致异常 具体而言,异常消息是: Google.GoogleApiException was unhandled HResult=-2146233088 Message=Google.Apis.Requests.RequestError The service is currently unavailable. [503] Errors [ Message[The service

我正在尝试对使用Sheets API创建的电子表格应用条件格式。然而,我的代码中有一部分总是导致异常

具体而言,异常消息是:

Google.GoogleApiException was unhandled
  HResult=-2146233088
  Message=Google.Apis.Requests.RequestError
The service is currently unavailable. [503]
Errors [
        Message[The service is currently unavailable.] Location[ - ] Reason[backendError] Domain[global]
]
这是与异常相关的代码部分:

Request request4 = new Request();
request4.AddConditionalFormatRule = new AddConditionalFormatRuleRequest();
request4.AddConditionalFormatRule.Rule = new ConditionalFormatRule();
GridRange range1 = new GridRange();
range1.SheetId = 0;
range1.StartColumnIndex = 8;
range1.EndColumnIndex = 9;
range1.StartRowIndex = 1;
request4.AddConditionalFormatRule.Rule.Ranges = new List<GridRange>();
request4.AddConditionalFormatRule.Rule.Ranges.Add(range1);
request4.AddConditionalFormatRule.Rule.GradientRule = new GradientRule();
request4.AddConditionalFormatRule.Rule.GradientRule.Minpoint = new InterpolationPoint();
request4.AddConditionalFormatRule.Rule.GradientRule.Minpoint.Type = "MIN";
request4.AddConditionalFormatRule.Rule.GradientRule.Minpoint.Color = new Google.Apis.Sheets.v4.Data.Color();
request4.AddConditionalFormatRule.Rule.GradientRule.Minpoint.Color.Red = 1;
request4.AddConditionalFormatRule.Rule.GradientRule.Minpoint.Color.Green = (float)0.48;
request4.AddConditionalFormatRule.Rule.GradientRule.Minpoint.Color.Blue = (float)0.48;
request4.AddConditionalFormatRule.Rule.GradientRule.Midpoint = new InterpolationPoint();
request4.AddConditionalFormatRule.Rule.GradientRule.Midpoint.Type = "NUMBER";
request4.AddConditionalFormatRule.Rule.GradientRule.Midpoint.Value = "0.5";
request4.AddConditionalFormatRule.Rule.GradientRule.Midpoint.Color = new Google.Apis.Sheets.v4.Data.Color();
request4.AddConditionalFormatRule.Rule.GradientRule.Midpoint.Color.Red = 1;
request4.AddConditionalFormatRule.Rule.GradientRule.Midpoint.Color.Green = 1;
request4.AddConditionalFormatRule.Rule.GradientRule.Midpoint.Color.Blue = 0;
request4.AddConditionalFormatRule.Rule.GradientRule.Maxpoint = new InterpolationPoint();
request4.AddConditionalFormatRule.Rule.GradientRule.Maxpoint.Type = "MAX";
request4.AddConditionalFormatRule.Rule.GradientRule.Maxpoint.Color = new Google.Apis.Sheets.v4.Data.Color();
request4.AddConditionalFormatRule.Rule.GradientRule.Maxpoint.Color.Red = (float)0.82;
request4.AddConditionalFormatRule.Rule.GradientRule.Maxpoint.Color.Green = 1;
request4.AddConditionalFormatRule.Rule.GradientRule.Maxpoint.Color.Blue = (float)0.87;
request4.AddConditionalFormatRule.Index = 0;
requests.Add(request4);
Request request4=新请求();
request4.AddConditionalFormatRule=新的AddConditionalFormatRulerRequest();
request4.AddConditionalFormatRule.Rule=新的ConditionalFormatRule();
GridRange range1=新的GridRange();
范围1.SheetId=0;
范围1.StartColumnIndex=8;
范围1.EndColumnIndex=9;
范围1.StartRowIndex=1;
request4.AddConditionalFormatRule.Rule.Ranges=新列表();
request4.AddConditionalFormatRule.Rule.Ranges.Add(range1);
request4.AddConditionalFormatRule.Rule.GradientRule=新的GradientRule();
request4.AddConditionalFormatRule.Rule.GradientRule.Minpoint=新插值点();
request4.AddConditionalFormature.Rule.GradientRule.Minpoint.Type=“MIN”;
request4.addConditionalFormature.Rule.GradientRule.Minpoint.Color=新的Google.api.Sheets.v4.Data.Color();
request4.AddConditionalFormature.Rule.GradientRule.Minpoint.Color.Red=1;
request4.AddConditionalFormatRule.Rule.GradientRule.Minpoint.Color.Green=(浮点)0.48;
request4.AddConditionalFormature.Rule.GradientRule.Minpoint.Color.Blue=(浮点)0.48;
request4.AddConditionalFormatRule.Rule.GradientRule.Middpoint=新插值点();
request4.AddConditionalFormature.Rule.GradientRule.Middpoint.Type=“数字”;
request4.AddConditionalFormature.Rule.GradientRule.Middpoint.Value=“0.5”;
request4.AddConditionalFormatRule.Rule.GradientRule.middpoint.Color=新的Google.api.Sheets.v4.Data.Color();
request4.AddConditionalFormature.Rule.GradientRule.Middpoint.Color.Red=1;
request4.AddConditionalFormatRule.Rule.GradientRule.Middpoint.Color.Green=1;
request4.AddConditionalFormatRule.Rule.GradientRule.Middpoint.Color.Blue=0;
request4.AddConditionalFormatRule.Rule.GradientRule.Maxpoint=新插值点();
request4.AddConditionalFormature.Rule.GradientRule.Maxpoint.Type=“MAX”;
request4.addConditionalFormature.Rule.GradientRule.Maxpoint.Color=新的Google.api.Sheets.v4.Data.Color();
request4.AddConditionalFormature.Rule.GradientRule.Maxpoint.Color.Red=(浮点)0.82;
request4.AddConditionalFormatRule.Rule.GradientRule.Maxpoint.Color.Green=1;
request4.AddConditionalFormature.Rule.GradientRule.Maxpoint.Color.Blue=(浮点)0.87;
request4.AddConditionalFormatRule.Index=0;
请求。添加(请求4);
您可能会假设,这是我作为
BatchUpdateSpreadsheetRequest
一起发送的许多请求对象的一部分。如果我注释掉这段有问题的代码,那么其他的一切都可以完美地工作

电子表格数据是动态生成的,但始终包含14列和4000到5000行


是否有人知道导致此异常的原因,或许可以分享一些解决方案的建议?

这似乎是使用InterpolationPointType的最小和最大值的问题。文档中说不需要“值”(实际上不需要该值),但服务器现在需要它的地方有一个bug。我已经确定了这个问题,并将在发布修复程序时在这里发布。作为目前的解决方法,请使用虚拟值,例如,
request4.AddConditionalFormatRule.Rule.GradientRule.Minpoint.Value=“1”
,maxpoint也是如此。

谢谢您的建议。是的,该解决方案已经奏效。我想知道您是否知道如何在Google Sheets应用程序脚本中解决此枚举问题,谢谢!很抱歉,我忘了在这里发布更新--我们在2016年6月在服务器端修复了此问题,因此您不需要再进行解决。