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

Calendly API集成获取预约数据时遭遇401认证错误排查求助

Calendly API调用返回401错误排查求助

我需要从Calendly获取客户的预约数据,参考了Get Event Invitee API文档,但代码始终返回401错误,无法定位问题所在。目前使用本地测试站点进行测试。

我尝试过通过官方指引创建个人访问令牌,甚至添加了Bearer前缀,但仍无法解决401错误。

我的代码如下:

window.addEventListener("message", function (event) {

    if (event.origin.includes("calendly.com")) {
        const data = event.data;
        if (data.event && data.event === "calendly.event_scheduled") {
            console.log("Event scheduled:", data.payload);


            const eventUri = data.payload.event.uri;
            const inviteeUri = data.payload.invitee.uri;

            // Getting event details via API
            fetchCalendlyEventDetails(eventUri, inviteeUri);
        }
    }
});

async function fetchCalendlyEventDetails(eventUri, inviteeUri) {
    try {
        const eventId = eventUri.split("/").pop();
        const inviteeId = inviteeUri.split("/").pop();

        // USER KEY
        const token = 'IzLmPwQHQDKPyoBrnT3Fxy6DFbv3wWwLcqskWrgLcsc';

        // const options = {
        //     method: 'GET',
        //     headers: {'Content-Type': 'application/json', Authorization: token}
        // };
        //
        // fetch('https://api.calendly.com/scheduled_events/event_uuid/invitees/invitee_uuid', options)
        //     .then(response => response.json())
        //     .then(response => console.log(response))
        //     .catch(err => console.error(err));
        //

        const headers = {
            'Content-Type': 'application/json',
            'Authorization': token,

        };

        const eventResponse = await fetch(`https://api.calendly.com/scheduled_events/${eventId}`, headers );
        const inviteeResponse = await fetch(`https://api.calendly.com/scheduled_events/${eventId}/invitees/${inviteeId}`, headers );

        const eventData = await eventResponse.json();
        const inviteeData = await inviteeResponse.json();

        // Checking data
        if (!inviteeData || !inviteeData.resource || !inviteeData.resource.scheduled_at) {
            console.error("Incorrect meeting details:", inviteeData);
            return;
        }

        const scheduledAt = inviteeData.resource.scheduled_at;
        const startTime = new Date(scheduledAt).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
        const startDate = new Date(scheduledAt).toLocaleDateString([], { day: '2-digit', month: 'short', year: 'numeric' });

        console.log(`Date event: ${startDate}`);
        console.log(`Time event: ${startTime}`);

        document.querySelector('.date-box_item').textContent = `${startDate}`;
        document.querySelector('.date-box_item + .date-box_item').textContent = `${startTime}`;

    } catch (error) {
        console.error("Error when retrieving appointment data:", error);
    }
}

添加Bearer前缀后的令牌示例:

const token = 'Bearer eyJraWQiOiIxY2UxZTEzNjE3ZGNmNzY2YjNjZWJjY2Y4ZGM1YmFmYThhNjVlNjg0MDIzZjdjMzJiZTgzNDliMjM4MDEzNWI0IiwidHlwIjoiUEFUIiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczovL2F1dGguY2FsZW5kbHkuY29tIiwiaWF0IjoxNzMxNzkxNTkwLCJqdGkiOiJkZWYyMDUxYi1jNzk0LTRjOWQtYWY0OC1kNjI2OGFmYWMzMGQiLCJ1c2VyX3V1aWQiOiIxMTg0MGNlZC0xZTEyLTQ1Mjct';

Calendly凭证创建页面截图:
Calendly凭证创建页面

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 07:59:52