You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET应用创建Google日历事件时生成Google Meet链接失败

问题分析与解决方案

核心问题:模型类字段缺失

你的CreateConferenceRequest模型存在关键错误——构造函数中仅创建了ConferenceSolutionKey的局部变量,并未将其作为类的公共属性暴露,导致序列化后的请求体缺少Google API要求的conferenceSolutionKey字段,这是请求失败的主要原因。

修复后的模型类

public class CreateConferenceRequest
{
    public CreateConferenceRequest()
    {
        RequestId = Guid.NewGuid().ToString();
        ConferenceSolutionKey = new ConferenceSolutionKey { Type = "hangoutsMeet" };
    }

    public string RequestId { get; set; }
    public ConferenceSolutionKey ConferenceSolutionKey { get; set; }

    public class ConferenceSolutionKey
    {
        public string Type { get; set; }
    }
}

辅助检查项

  1. 验证事件ID有效性:确保拼接在URL中的{id}是刚创建的有效日历事件ID,无拼写或格式错误
  2. 确认权限范围:访问令牌必须包含https://www.googleapis.com/auth/calendar权限,否则会被API拒绝

优化方案:一步创建带Meet链接的事件

无需分两次请求(先创事件再加Meet),可在创建事件时直接携带ConferenceData,一步完成操作:

var newEvent = new Event
{
    Summary = "测试会议",
    Start = new EventDateTime { DateTime = DateTime.Now.AddHours(1), TimeZone = "Asia/Shanghai" },
    End = new EventDateTime { DateTime = DateTime.Now.AddHours(2), TimeZone = "Asia/Shanghai" },
    ConferenceData = new ConferenceData
    {
        CreateRequest = new CreateConferenceRequest
        {
            RequestId = Guid.NewGuid().ToString(),
            ConferenceSolutionKey = new ConferenceSolutionKey { Type = "hangoutsMeet" }
        }
    }
};

// 序列化并发送创建事件请求后,直接从返回的Event对象提取链接
var meetLink = createdEvent.ConferenceData.EntryPoints.FirstOrDefault(x => x.EntryPointType == "video")?.Uri;

内容的提问来源于stack exchange,提问作者Mithun Madeeshan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 13:42:40