使用Power Automate HTTP请求更新SharePoint日历遇415错误求助
1. 修复Content-Type拼写错误
你的请求头中Content-Type的值为applications/json;odata=verbose,存在明显拼写错误——多了一个s,正确值应为application/json;odata=verbose。这是触发415错误的直接原因,服务器无法识别无效的Content-Type格式。
2. 补充必填请求头
创建SharePoint列表项时,除了Accept和修正后的Content-Type,还必须添加X-RequestDigest头:
- 先新增一个HTTP GET请求,URI设为
/_api/contextinfo,从返回结果中提取FormDigestValue - 将该值填入创建事件的HTTP请求头的
X-RequestDigest字段
3. 修正请求体字段格式
请求体中fAllDayEvent字段传入的是字符串'true',但SharePoint布尔类型字段需要传入原生布尔值,应改为fAllDayEvent: true(去掉引号)
修正后的完整请求参数示例
{ "host": { "connectionReferenceName": "shared_sharepointonline", "operationId": "HttpRequest" }, "parameters": { "dataset": "https://thesandlot.sharepoint.com/sites/Ian_DevSandBox", "parameters/method": "POST", "parameters/uri": "/_api/web/lists/getByTitle('Events')/items", "parameters/headers": { "Accept": "application/json;odata=verbose", "Content-Type": "application/json;odata=verbose", "X-RequestDigest": "{替换为获取到的FormDigestValue}" }, "parameters/body": "{\n '__metadata': {'type': 'SP.Data.EventsListItem' },\n 'fAllDayEvent': true,\n 'EventDate': '2023-05-15', \n 'EndDate': '2023-05-16', \n 'Title': 'Ian - SICK',\n 'Category': 'SICK',\n 'Description': ''\n}" } }
额外验证点
- 确认
SP.Data.EventsListItem实体类型名称正确:可通过访问https://thesandlot.sharepoint.com/sites/Ian_DevSandBox/_api/web/lists/getByTitle('Events')?$select=ListItemEntityTypeFullName获取准确的类型名称 - 若需设置非全天事件,
EventDate和EndDate需使用ISO时间格式(如2023-05-15T09:00:00Z)
内容的提问来源于stack exchange,提问作者Ian
相关产品推荐
相关产品推荐

