Microsoft graph api 如何在MS Graph或SharePoint REST API中区分站点页面和Wiki页面

Microsoft graph api 如何在MS Graph或SharePoint REST API中区分站点页面和Wiki页面,microsoft-graph-api,onedrive,sharepoint-online,sharepoint-rest-api,Microsoft Graph Api,Onedrive,Sharepoint Online,Sharepoint Rest Api,我使用新的SharePoint在线体验在SitePages库中创建了一个SharePoint页面。页面已创建,我尝试使用MS Graph endpoint获取页面属性: https://graph.microsoft.com/v1.0/drives/{drive-id}/root:/site_page.aspx?expand=listItem https://graph.microsoft.com/v1.0/drives/{drive-id}/root:/wiki_page.aspx?

我使用新的SharePoint在线体验在SitePages库中创建了一个SharePoint页面。页面已创建,我尝试使用MS Graph endpoint获取页面属性:

https://graph.microsoft.com/v1.0/drives/{drive-id}/root:/site_page.aspx?expand=listItem
    https://graph.microsoft.com/v1.0/drives/{drive-id}/root:/wiki_page.aspx?expand=listItem
我得到的答复是:

{
    ...
    "name": "site_page.aspx",
    ...
    "file": {
        "mimeType": "application/xml",
        "hashes": {
            "quickXorHash": ""
        }
    },
    ...
    "listItem": {
        ...
        "id": "4",
        ...
        "contentType": {
            "id": "0x0101009D1CB255DA76424F860D91F20E6C411800020BAE24978F3545AFD24007B325ACF9"
        },

        "fields": {
            "FileLeafRef": "site_page.aspx",
            "Title": "site_page",
            "LinkTitle": "site_page",
            "id": "4",
            "ContentType": "Site Page",
            ...
        }
    }
}
然后,我将Wiki页面内容添加到此库中,以支持我的站点中的Wiki页面。 我创建了一个新的Wiki页面,并使用MS Graph endpoint再次获取页面属性:

https://graph.microsoft.com/v1.0/drives/{drive-id}/root:/site_page.aspx?expand=listItem
    https://graph.microsoft.com/v1.0/drives/{drive-id}/root:/wiki_page.aspx?expand=listItem
我得到的答复是:

    {
    ...
    "name": "wiki_page.aspx",
    ...
    "file": {
        "mimeType": "application/xml"
    },
    ...
    "listItem": {
        ...
        "id": "5",
        ...
        "contentType": {
            "id": "0x0101009D1CB255DA76424F860D91F20E6C411800020BAE24978F3545AFD24007B325ACF9"
        },

        "fields": {
            "FileLeafRef": "wiki_page.aspx",
            "Title": "wiki_page",
            "LinkTitle": "wiki_page",
            "id": "5",
            "ContentType": "Site Page",
            "WikiField" : "..."
            ...
        }
    }
}
正如您所看到的,这两个项目具有相同的内容类型。这怎么可能? 唯一的区别是wiki_页面项不包含“哈希”属性,而是包含“WikiField”属性(wiki页面内容的存储位置)。
是否有其他方法来区分页面类型?

您可以尝试此端点:
GET/sites/{site id}/lists/{list id}/items?expand=fields(select=ContentType)

我的测试结果:

{
            "@odata.etag": "\"b3b04ace-40cd-4847-a3d8-678bc658216d,2\"",
            "createdDateTime": "2020-04-22T05:34:06Z",
            "eTag": "\"b3b04ace-40cd-4847-a3d8-678bc658216d,2\"",
            "id": "11",
            "lastModifiedDateTime": "2020-04-22T05:34:06Z",
            "webUrl": "https://xxxx.sharepoint.com/sites/dev/SitePages/wikipage.aspx",
            "createdBy": {
                "user": {
                    "email": "amos@xxxx.onmicrosoft.com",
                    "id": "fc1e9add-6f9c-4b95-83e1-a022441681d7",
                    "displayName": "test"
                }
            },
            "lastModifiedBy": {
                "user": {
                    "email": "amos@xxxx.onmicrosoft.com",
                    "id": "fc1e9add-6f9c-4b95-83e1-a022441681d7",
                    "displayName": "test"
                }
            },
            "parentReference": {
                "id": "79e13173-d5ee-4a17-a081-5c94d148f905",
                "siteId": "xxxx.sharepoint.com,b57886ef-4c2a-4d56-ad29-27266638ac3b,b62d1450-8e6f-4be7-84a3-f6600fd6cc14"
            },
            "contentType": {
                "id": "0x01010800511BB12BD4FB664A89516226DBDDF1FB"
            },
            "fields@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites('siteid')/lists('63307f0b-bc1c-4372-bfea-6352ed57a0ff')/items('11')/fields/$entity",
            "fields": {
                "@odata.etag": "\"b3b04ace-40cd-4847-a3d8-678bc658216d,2\"",
                "ContentType": "Wiki Page"
            }
        },
        {
            "@odata.etag": "\"70f12845-7646-4b2b-85bd-4a8074c105a0,1\"",
            "createdDateTime": "2020-04-22T05:35:54Z",
            "eTag": "\"70f12845-7646-4b2b-85bd-4a8074c105a0,1\"",
            "id": "12",
            "lastModifiedDateTime": "2020-04-22T05:35:54Z",
            "webUrl": "https://xxxx.sharepoint.com/sites/dev/SitePages/webpartpage.aspx",
            "createdBy": {
                "user": {
                    "email": "amos@xxxx.onmicrosoft.com",
                    "id": "fc1e9add-6f9c-4b95-83e1-a022441681d7",
                    "displayName": "test"
                }
            },
            "lastModifiedBy": {
                "user": {
                    "email": "amos@xxxx.onmicrosoft.com",
                    "id": "fc1e9add-6f9c-4b95-83e1-a022441681d7",
                    "displayName": "test"
                }
            },
            "parentReference": {
                "id": "79e13173-d5ee-4a17-a081-5c94d148f905",
                "siteId": "xxxx.sharepoint.com,b57886ef-4c2a-4d56-ad29-27266638ac3b,b62d1450-8e6f-4be7-84a3-f6600fd6cc14"
            },
            "contentType": {
                "id": "0x0101090100FAC6DAD225005749BE7D6124B50B156E"
            },
            "fields@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites('siteid')/lists('63307f0b-bc1c-4372-bfea-6352ed57a0ff')/items('12')/fields/$entity",
            "fields": {
                "@odata.etag": "\"70f12845-7646-4b2b-85bd-4a8074c105a0,1\"",
                "ContentType": "Web Part Page"
            }
        }
你最好检查一下你的页面类型

已更新:


您可以尝试此端点:
GET/sites/{site id}/lists/{list id}/items?expand=fields(select=ContentType)

我的测试结果:

{
            "@odata.etag": "\"b3b04ace-40cd-4847-a3d8-678bc658216d,2\"",
            "createdDateTime": "2020-04-22T05:34:06Z",
            "eTag": "\"b3b04ace-40cd-4847-a3d8-678bc658216d,2\"",
            "id": "11",
            "lastModifiedDateTime": "2020-04-22T05:34:06Z",
            "webUrl": "https://xxxx.sharepoint.com/sites/dev/SitePages/wikipage.aspx",
            "createdBy": {
                "user": {
                    "email": "amos@xxxx.onmicrosoft.com",
                    "id": "fc1e9add-6f9c-4b95-83e1-a022441681d7",
                    "displayName": "test"
                }
            },
            "lastModifiedBy": {
                "user": {
                    "email": "amos@xxxx.onmicrosoft.com",
                    "id": "fc1e9add-6f9c-4b95-83e1-a022441681d7",
                    "displayName": "test"
                }
            },
            "parentReference": {
                "id": "79e13173-d5ee-4a17-a081-5c94d148f905",
                "siteId": "xxxx.sharepoint.com,b57886ef-4c2a-4d56-ad29-27266638ac3b,b62d1450-8e6f-4be7-84a3-f6600fd6cc14"
            },
            "contentType": {
                "id": "0x01010800511BB12BD4FB664A89516226DBDDF1FB"
            },
            "fields@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites('siteid')/lists('63307f0b-bc1c-4372-bfea-6352ed57a0ff')/items('11')/fields/$entity",
            "fields": {
                "@odata.etag": "\"b3b04ace-40cd-4847-a3d8-678bc658216d,2\"",
                "ContentType": "Wiki Page"
            }
        },
        {
            "@odata.etag": "\"70f12845-7646-4b2b-85bd-4a8074c105a0,1\"",
            "createdDateTime": "2020-04-22T05:35:54Z",
            "eTag": "\"70f12845-7646-4b2b-85bd-4a8074c105a0,1\"",
            "id": "12",
            "lastModifiedDateTime": "2020-04-22T05:35:54Z",
            "webUrl": "https://xxxx.sharepoint.com/sites/dev/SitePages/webpartpage.aspx",
            "createdBy": {
                "user": {
                    "email": "amos@xxxx.onmicrosoft.com",
                    "id": "fc1e9add-6f9c-4b95-83e1-a022441681d7",
                    "displayName": "test"
                }
            },
            "lastModifiedBy": {
                "user": {
                    "email": "amos@xxxx.onmicrosoft.com",
                    "id": "fc1e9add-6f9c-4b95-83e1-a022441681d7",
                    "displayName": "test"
                }
            },
            "parentReference": {
                "id": "79e13173-d5ee-4a17-a081-5c94d148f905",
                "siteId": "xxxx.sharepoint.com,b57886ef-4c2a-4d56-ad29-27266638ac3b,b62d1450-8e6f-4be7-84a3-f6600fd6cc14"
            },
            "contentType": {
                "id": "0x0101090100FAC6DAD225005749BE7D6124B50B156E"
            },
            "fields@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites('siteid')/lists('63307f0b-bc1c-4372-bfea-6352ed57a0ff')/items('12')/fields/$entity",
            "fields": {
                "@odata.etag": "\"70f12845-7646-4b2b-85bd-4a8074c105a0,1\"",
                "ContentType": "Web Part Page"
            }
        }
你最好检查一下你的页面类型

已更新:


您是如何创建wiki页面的?创建页面后是否更改了内容类型?默认情况下,网站页面内容类型设置为Wiki,而网站页面类型我在创建页面后没有做任何事情。感谢您的快速响应,您是否通过单击“Wiki页面”创建了id为“13”的页面?否,这是一个网站页面。好的,问题是当我通过单击“Wiki页面”创建页面时,该页面将具有“站点页面”内容类型您是如何创建wiki页面的?创建页面后是否更改了内容类型?默认情况下,网站页面内容类型设置为Wiki,而网站页面类型我在创建页面后没有执行任何操作。感谢您的快速响应,您是否通过单击“Wiki页面”创建了id为“13”的页面?否,这是一个网站页面。好的,问题是,当我通过单击“Wiki页面”创建页面时,该页面将具有“网站页面”内容类型