我正在测试一个证明概念,以将 GRAPH API 与通过 MS Teams 创建的 SharePoint Online (SP) 网站结合使用。我在网站上有一个简单的列表,出于测试目的,我直接在 SP 中填充了 2 条记录,并且我希望使用 POSTMAN 来测试简单的 CRUD 操作。长期目标是使用自动化程序(BPA 平台)来使用其 Web 服务工具来检索此数据,并将其存储在现场 SQL 数据库中以供其他业务系统使用。 SP 列表很可能在顶部有一个低代码解决方案作为用户界面(可能是 PowerApps),因此所有帮助只需要使用 HTTPS 调用,而不是其他代码解决方案,谢谢。
到目前为止我使用的身份验证根是Azure App来创建应用程序秘密并为该应用程序分配正确的权限
我可以通过调用检索列表中的项目
https://graph.microsoft.com/v1.0/sites/{{IT_Testing_Id}}/lists/{{ListID}}/items?expand=fields
返回的是(我只显示了字段)
"fields": {
"@odata.etag": "\"1512bad7-b01f-494d-924c-88c44104cae2,1\"",
"Title": "Apple",
"LinkTitleNoMenu": "Apple",
"LinkTitle": "Apple",
"Ref": "1",
"Number": 2.0,
"DateTest": "2023-10-30T00:00:00Z",
"PartNo": "1010910.A",
"LookupLookupId": "1",
"id": "1",
"ContentType": "Item",
"Modified": "2023-11-02T08:50:53Z",
"Created": "2023-11-02T08:50:53Z",
"AuthorLookupId": "9",
"EditorLookupId": "9",
"_UIVersionString": "1.0",
"Attachments": false,
"Edit": "",
"ItemChildCount": "0",
"FolderChildCount": "0",
"_ComplianceFlags": "",
"_ComplianceTag": "",
"_ComplianceTagWrittenTime": "",
"_ComplianceTagUserId": ""
}
},
"fields": {
"@odata.etag": "\"4c1a4755-1e58-4bac-b04f-f3270d8aed03,1\"",
"Title": "Orange",
"LinkTitleNoMenu": "Orange",
"LinkTitle": "Orange",
"Ref": "2",
"Number": 5.0,
"DateTest": "2023-11-02T00:00:00Z",
"PartNo": "1020020",
"LookupLookupId": "2",
"id": "2",
"ContentType": "Item",
"Modified": "2023-11-02T08:56:09Z",
"Created": "2023-11-02T08:56:09Z",
"AuthorLookupId": "9",
"EditorLookupId": "9",
"_UIVersionString": "1.0",
"Attachments": false,
"Edit": "",
"ItemChildCount": "0",
"FolderChildCount": "0",
"_ComplianceFlags": "",
"_ComplianceTag": "",
"_ComplianceTagWrittenTime": "",
"_ComplianceTagUserId": ""
}
},
但是,问题出在 POST 上,当我完成 POST 时,我得到的状态为
201 Created
但是在 SP 我看到了这个:
我相信我没有在 Post 命令中发送正确的信息。
这是帖子的详细信息
发布命令调用 https://graph.microsoft.com/v1.0/sites/{{IT_Testing_Id}}/lists/{{ListID}}/items
标题详情
{
"Title": "Pear",
"Ref": "25",
"Number": 2.0,
"DateTest": "2023-10-30T00:00:00Z",
"PartNo": "5000000.A"
}
回应是
"fields": {
"@odata.etag": "\"038843b1-b587-441b-aa90-a8cef5e53c28,1\"",
"Number": 0.0,
"DateTest": "2023-11-03T11:43:58Z",
"id": "15",
"ContentType": "Item",
"Modified": "2023-11-03T11:43:58Z",
"Created": "2023-11-03T11:43:58Z",
"AuthorLookupId": "1073741822",
"EditorLookupId": "1073741822",
"_UIVersionString": "1.0",
"Attachments": false,
"Edit": "",
"ItemChildCount": "0",
"FolderChildCount": "0",
"_ComplianceFlags": "",
"_ComplianceTag": "",
"_ComplianceTagWrittenTime": "",
"_ComplianceTagUserId": "",
"AppAuthorLookupId": "10",
"AppEditorLookupId": "10"
}
注意 id 已移动,但数据为空
有人可以建议尝试一下吗?我猜我没有提供正确的标题信息/格式?
发送 POST 请求时,字段名称必须位于
fields
属性内。
{
"fields": {
"Title": "Pear",
"Ref": "25",
"Number": 2.0,
"DateTest": "2023-10-30T00:00:00Z",
"PartNo": "5000000.A"
}
}