C# 超过Google日历Api v3配额

C# 超过Google日历Api v3配额,c#,asp.net-core,google-calendar-api,C#,Asp.net Core,Google Calendar Api,我在创建日历事件(使用google服务帐户)时遇到问题,我启用了域范围的委派 我得到的错误是: “邮件[超出日历使用限制。]位置[-]原因[QuotaExceed]域[usageLimits]” 我已经检查了使用情况及其低于10个请求(配额设置为1000000) 这是我的代码: string[] Scopes = { CalendarService.Scope.Calendar, CalendarService.Scope.CalendarEvents }; using (var stream

我在创建日历事件(使用google服务帐户)时遇到问题,我启用了域范围的委派

我得到的错误是: “邮件[超出日历使用限制。]位置[-]原因[QuotaExceed]域[usageLimits]”

我已经检查了使用情况及其低于10个请求(配额设置为1000000)

这是我的代码:

string[] Scopes = { CalendarService.Scope.Calendar, CalendarService.Scope.CalendarEvents };

using (var stream = new FileStream("cred.json", FileMode.Open, FileAccess.Read))
{
    GoogleCredential credential = GoogleCredential.FromStream(stream)
                                 .CreateScoped(Scopes);
    var service = new CalendarService(new BaseClientService.Initializer()
    {
        HttpClientInitializer = credential,
        ApplicationName = "TEST",
    });

    var ev = new Event();
    EventDateTime start = new EventDateTime();
    start.DateTime = DateTime.Now.AddMinutes(30);

    EventDateTime end = new EventDateTime();
    end.DateTime = DateTime.Now.AddMinutes(60);
    ev.Start = start;
    ev.End = end;
    ev.Summary = "Test";
    ev.Description = "Please Work";
    ev.Attendees = new List<EventAttendee>
    {
        new EventAttendee() { Email = "TestMail@gmail.com" }
    };

    var calendarId = "primary";
    service.Events.Insert(ev, calendarId).Execute();
string[]Scopes={CalendarService.Scope.Calendar,CalendarService.Scope.CalendarEvents};
使用(var stream=newfilestream(“cred.json”、FileMode.Open、FileAccess.Read))
{
GoogleCredential credential=GoogleCredential.FromStream(流)
.CreateScoped(范围);
var service=new CalendarService(new BaseClientService.Initializer()
{
HttpClientInitializer=凭证,
ApplicationName=“测试”,
});
var ev=新事件();
EventDateTime开始=新的EventDateTime();
start.DateTime=DateTime.Now.AddMinutes(30);
EventDateTime end=新的EventDateTime();
end.DateTime=DateTime.Now.AddMinutes(60);
电动汽车起动=起动;
ev.End=End;
ev.Summary=“测试”;
ev.Description=“请工作”;
ev.Attendees=新列表
{
新建EventAttendee(){Email=“TestMail@gmail.com" }
};
var calendarId=“主”;
Insert(ev,calendarId).Execute();
如果我尝试在没有参与者的情况下执行代码,那么它将不会出现任何错误


以前有人遇到过这个问题吗?

这是一个已知的bug

它已在上报告。您可以单击问题编号旁边的星号,以对错误给予更高的优先级并接收更新


但是,这有当前的解决方法(除了不包括与会者之外):

域范围的委派或模拟用户

您可以阅读有关如何执行此操作的内容,步骤如下:

  • 在表中找到新创建的服务帐户。在 操作,单击“显示更多”,然后单击“编辑”
  • 在服务帐户详细信息中,单击显示域范围的委派, 然后确保选中Enable G Suite Domain wide Delegation复选框 检查过了
  • 如果尚未配置应用程序的OAuth同意屏幕,则 必须先执行此操作,然后才能启用域范围的委派。请按照 配置OAuth同意屏幕的屏幕说明,然后 重复上述步骤并重新选中复选框
  • 单击“保存”以更新服务帐户,并返回到列表 服务帐户。可以看到一个新的列,域范围的委派。 单击查看客户端ID,以获取并记录客户端ID

  • 可能与这个@lulucode有关,我正处于poc阶段,我确信我没有超过配额,并且共享了太多次日历,这发生在我第一次发送api请求时