Teams Recurring Meeting Update Issue with Graph API

Đang mở
#1,857 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
25/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
node.js, typescript
Lĩnh vực
api

Hướng nghiên cứu

Start with the Microsoft Graph /me/events endpoint and the PATCH URL construction shown in the Node.js snippet, comparing eventId with instanceId. Reproduce the sequence of updating the series, updating one recurring instance, and updating the series again. Done would require identifying the source of the 500 response and documenting or confirming the supported update behavior; no repository file or test is mentioned.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

status:waiting-for-triage

I successfully created a recurring Teams meeting using the Graph API.
After that, I updated the entire recurring series using the Graph API, which worked successfully.
I then tried updating a single instance of the recurring series using the Graph API, and that also succeeded.

However, once I update any single instance of the recurring series, any subsequent attempt to update the entire recurring series results in a 500 Internal Server Error from the Graph API.

Below is the code snippet I’m using to update the meeting in Node.js:

process.env.teamsScheduleMeeting = "https://graph.microsoft.com/v1.0/me/events"

const headers = {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json',
    'Prefer': `outlook.timezone="${payload?.timezone ? payload?.timezone : payload.booking.timezone}", outlook.body-content-type="text"`
};

const meetingData = {
    ...(payload?.title && { subject: payload?.title }),
    ...(payload?.startTime && payload?.endTime && payload?.timezone && {
        start: {
            dateTime: new Date(Number(payload?.startTime)).toISOString(),
            timeZone: payload?.timezone
        },
        end: {
            dateTime: new Date(Number(payload?.endTime)).toISOString(),
            timeZone: payload?.timezone
        }
    }),
    ...(payload?.recurrence && { recurrence: payload.recurrence }),
    ...(payload?.participants && Array.isArray(payload?.participants) && {
        attendees: payload.participants.map(email => ({ emailAddress: { address: email } }))
    })
};

const teamsMeetingUpdateUrl = `${process.env.teamsScheduleMeeting}/${payload.type === "recurringInstance" ? payload.instanceId : payload.eventId}`;

const existingEventDetails = await axios.get(teamsMeetingUpdateUrl, { headers });
const existingContent = existingEventDetails?.data?.body?.content;

if (payload?.description) {
    // Update the body content only if a new description is provided
    meetingData.body = {
        contentType: 'text', // Retain original or default to text
        content: existingContent.replace(/^(.*?)(\r\n|$)/, `${payload.description}$2`) // Replace first line with the new description
    };
}

const updateEvent = await axios.patch(teamsMeetingUpdateUrl, meetingData, { headers });
console.log('updateEvent---', updateEvent);

Can some one help me understand why the Graph API fails with a 500 error when updating the entire series after modifying a single instance?

Ngôn ngữ chính
TypeScript
Star
833
Fork
240
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của microsoftgraph/msgraph-sdk-javascript

Tất cả issue của microsoftgraph/msgraph-sdk-javascript

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.