C# Graph SDK中的订阅通知
我目前正在用Graph SDK实现一个Webhook,但有一点问题/不便。我正在订阅用户资源的日历事件,如下所示:C# Graph SDK中的订阅通知,c#,microsoft-graph-api,C#,Microsoft Graph Api,我目前正在用Graph SDK实现一个Webhook,但有一点问题/不便。我正在订阅用户资源的日历事件,如下所示: var request = GraphClientInitializer.Instance.GraphClient.Subscriptions.Request(); var result = await request.AddAsync( new Subscription {
var request = GraphClientInitializer.Instance.GraphClient.Subscriptions.Request();
var result = await request.AddAsync(
new Subscription
{
ChangeType = WebhookConsts.SubscriptionChangeType,
NotificationUrl = WebhookConsts.SubscriptionNotificationUrl,
Resource = "/users/" + UserMail + "/" + "events",
ExpirationDateTime = DateTimeOffset.Now.AddMinutes(20),
ClientState = WebhookConsts.SubscriptionIdentifier
}
);
我收到通知,可以读取发送到通知url的消息,但SDK中似乎没有解析接收到的通知的对象
目前我自己在做:
public class Notification
{
[JsonProperty("value")]
public List<NotificationValue> Values { get; set; }
}
public class NotificationValue
{
[JsonProperty("subscriptionId")]
public String SubscriptionId { get; set; }
[JsonProperty("subscriptionExpirationDateTime")]
public String SubscriptionExpirationDateTime { get; set; }
[JsonProperty("clientState")]
public String ClientState { get; set; }
[JsonProperty("changeType")]
public String ChangeType { get; set; }
[JsonProperty("resource")]
public String Resource { get; set; }
[JsonProperty("resourceData")]
public NotificationResourceData ResourceData { get; set; }
}
public class NotificationResourceData
{
[JsonProperty("@odata.type")]
public String ODataType { get; set; }
[JsonProperty("@odata.id")]
public String ODataId { get; set; }
[JsonProperty("odata.etag")]
public String ODataEtag { get; set; }
[JsonProperty("Id")]
public String Id { get; set; }
}
公共类通知
{
[JsonProperty(“价值”)]
公共列表值{get;set;}
}
公共类通知值
{
[JsonProperty(“subscriptionId”)]
公共字符串SubscriptionId{get;set;}
[JsonProperty(“subscriptionExpirationDateTime”)]
公共字符串SubscriptionExpirationDateTime{get;set;}
[JsonProperty(“客户状态”)]
公共字符串ClientState{get;set;}
[JsonProperty(“changeType”)]
公共字符串ChangeType{get;set;}
[JsonProperty(“资源”)]
公共字符串资源{get;set;}
[JsonProperty(“resourceData”)]
公共通知ResourceData ResourceData{get;set;}
}
公共类通知ResourceData
{
[JsonProperty(“@odata.type”)]
公共字符串ODataType{get;set;}
[JsonProperty(“@odata.id”)]
公共字符串ODataId{get;set;}
[JsonProperty(“odata.etag”)]
公共字符串标记{get;set;}
[JsonProperty(“Id”)]
公共字符串Id{get;set;}
}
是否有一个对象可以用于Graph SDK中的此功能或任何其他实现方式。此功能当前在SDK中不存在。SDK是基于API服务提供的元数据($metadata)生成的,其中未定义通知对象
我相信这将大大扩展图书馆。您是否愿意打开对Microsoft.Graph
Models>Extensions
文件夹的拉取请求?这将允许其他人使用您创建的通知类。很抱歉回复太晚。当然,今晚我能做到。拉取请求应该正确完成吗?