Sharepoint Rest API 搜索查询不起作用

问题描述 投票:0回答:1

美好的一天,

我目前正在调用 Sharepoint Rest API 搜索查询。我不知道为什么它不起作用。而且我不确定我的 URL 输入是否正确,如下所示是我编写的用于使用 jQuery 调用 API 的代码。查询是取回任何名为“Before”的文件,它是 XML 的形式。

请给我一些建议,我应该做出哪些改变,谢谢:)

我正在使用的 URL 是:

http://test-sharepoint/_layouts/15/start.aspx#/SitePages/Home.aspx

http://test-sharepoint/Tests/Documents/Forms/AllItems.aspx

这是我实现的代码:

       function apiCallTest() {

            const adminAccount = 'testUser';
            const adminAccountPassword = 'testPassword';

            const auth = btoa(`${adminAccount}:${adminAccountPassword}`);

            const testQuery = 'BEFORE';

            const apiUrl = "https://test-sharepoint/Test/Documents/Forms/_api/search/query?querytext='BEFORE'"

            const apiUrl2 = "https://test-sharepoint/Test/Documents/Forms/AllItems.aspx/_api/search/query?querytext=%27BEFORE%27";

            const apiUrl3= "https://test-sharepoint/_api/web/GetListByTitle('SitePages')/Items?$filter=Title eq 'before'"

            const apiUrl4= "https://test-sharepoint/_api/search/query?querytext='BEFORE'"
            
            const headers = {
                'Accept': 'application/json;odata=nometadata',
                'Authorization': `Basic ${auth}`
            };

            $.ajax({
                url: apiUrl5,
                headers: headers,
                method: 'GET',
                success: function(data) {
                    // Process the search results as needed
                    console.log('Search Results:', data)
                },
                error: function(xhr, textStatus, errorThrown) {
                    console.log("Cannot connect")
                    console.error('Error:', xhr, textStatus, errorThrown);
                }
            });
        }

        apiCallTest();
javascript jquery ajax sharepoint
1个回答
0
投票

不知道你在哪里找到这些API,但是错误很多!

  • apiUrl
    是假的
  • apiUrl2
    是假的
  • apiUrl3
    为 false:将
    web/GetListByTitle('SitePages')
    替换为
    web/lists/GetByTitle('SitePages')
  • apiUrl4
    正在工作!

因此,使用 REST API 在 SharePoint 上搜索的工作 URL 是:

https://test-sharepoint/_api/search/query?querytext=%27BEFORE%27

https://test-sharepoint/_api/web/lists/GetByTitle('SitePages')/Items?$filter=Title%20eq%20%27BEFORE%27

https://test-sharepoint/_api/web/lists/GetByTitle('SitePages')/Items?$filter=substringof(%27BEFORE%27,%20Title)

在我这边在 SharePoint 2019 上进行了测试。

您可以在 Web 浏览器上测试它:打开您的 SharePoint 网站并更改 URL。无需 jQuery 来测试查询。

© www.soinside.com 2019 - 2024. All rights reserved.