使用Google Apps Script调用Zoom API时PUT端点未被识别问题
问题:Zoom Rooms播放列表内容更新API返回“端点未识别”错误
我正在用Google Apps Script结合OAuth2库开发工具,用来给Zoom Room的播放列表上传内容。目前已经完成以下准备:
- 创建了权限范围正确的Zoom应用
- 内容已成功上传到Zoom
- 核对过Zoom官方的播放列表内容更新API文档,确认端点路径正确,上传的内容ID、时长等参数符合要求,播放列表ID也有效
- 脚本里其他Zoom API调用都正常,说明认证令牌和调用逻辑没问题
但调用该PUT端点时,无论怎么调整参数,始终返回错误:
{"code":2300,"message":"This API endpoint is not recognized."}
如果是认证或负载格式错误,我应该收到对应的提示,但现在的错误是端点不被识别,可这个API明明存在。
另外我尝试用PATCH方法调用同一个端点,居然可以添加内容,但官方文档里并没有列出PATCH这个选项,而我的需求是替换整个播放列表的内容,不是新增。
以下是我的代码:
async function updatePlaylistContents(playlistId, newContents) { const accessToken = getZoomAccessToken(); const url = `https://api.zoom.us/v2/rooms/content/digital_signage/playlists/${playlistId}/contents`; const payload = JSON.stringify({ contents: newContents }); const options = { method: 'put', contentType: 'application/json', headers: { 'Authorization': `Bearer ${accessToken}` }, payload: payload, muteHttpExceptions: true }; Logger.log(`Replacing content for playlist ${playlistId} with ${newContents.length} item(s)...`); const response = UrlFetchApp.fetch(url, options); if (response.getResponseCode() >= 400) { // --- ADDED FOR DEBUGGING --- const headers = response.getAllHeaders(); Logger.log("--- FAILED API CALL - RESPONSE HEADERS ---"); Logger.log(JSON.stringify(headers, null, 2)); Logger.log("-----------------------------------------"); // --- END OF DEBUGGING BLOCK --- throw new Error(`Failed to update playlist: ${response.getContentText()}`); } Logger.log(`✅ Success! Playlist updated.`); }
内容的提问来源于stack exchange,提问作者Ian Hyzy
相关产品推荐
相关产品推荐

