Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The SharePoint Online Connector can be configured using the Rest API. It requires the following entities to be created:

  • Credentials
  • Connector
  • Connection
  • Seed

Bellow are the examples of how to create the Credentials, the Connection and the Seed. For the Connector please check this page.


Panel

Easy Heading Free
navigationTitleOn this Page
navigationExpandOptionexpand-all-by-default

Create Credentials


Field
Optional
RequiredDefaultMultipleNotesExample
type
No
Yes-NoThe value must be "sharepoint-online"."sharepoint-online"
description
No
Yes-NoShort description or name for the credential."SPO_Prod_Credentials"
throttlePolicy
Yes
No-NoThrottle policy ID that will affect all seeds that use this credential.

"4f07e6c5-d2e9-48d8-a55d-094917508c0f"

properties.useAzureAuthentication
No
Yes-NoWhether credentials are Azure AD Application (true) credentials or User account credentials (false).

true

properties.tenantDomain
No
Yes-NoOnly required if useAzureAuthentication is true. Tenant domain the Azure AD Application is part of. "contoso.onmicrosoft.com"
properties.clientId
No
Yes-NoOnly required if useAzureAuthentication is true. Azure AD Application ID."1a1a-2b2b2-2cc22-aaa456"
properties.certificatePath
No
Yes-NoOnly required if useAzureAuthentication is true. Path to the certificate file. This path has to be accesible by all worker nodes that will use these credentials."${dist.data.dir}/${app.name}/certificates/certificate.cer"
properties.privateKeyPath
No
Yes-NoOnly required if useAzureAuthentication is true.  Path to the certificate private key file. This path has to be accesible by all worker nodes that will use these credentials."${dist.data.dir}/${app.name}/keys/key.key"
properties.username
 No
 Yes-NoOnly required if useAzureAuthentication is false. Username for the crawl account when using user/password credentials."[email protected]"
properties.password
No
Yes-NoOnly required if useAzureAuthentication is false. Password for the crawl account when using user/password credentials. This field can also be sent as an encrypted string. Check the encryption API for more information on how to encrypt.

"password"

Example

Code Block
themeRDark
titlePOST aspire/_api/credentials
{
    "type": "sharepoint-online",
    "description": "SPO_Cred",
    "properties": {
        "useAzureAuthentication": true,
        "tenantDomain": "cao365.onmicrosoft.com",
        "clientId": "12345-abcd",
        "certificatePath": "${dist.data.dir}/${app.name}/certificates/certificate.cer",
        "privateKeyPath": "${dist.data.dir}/${app.name}/keys/key.key"
    }
}

Update Credentials


Field
Optional
RequiredDefaultMultipleNotesExample
id
No
Yes-NoId of the credential to update"d42e1872-02c8-4a90-a714-44f15577389a"
type
No
Yes-NoThe value must be "sharepoint-online"."sharepoint-online"
description
Yes
No-NoShort description or name for the credential."SPO_Prod_Credentials"
throttlePolicy
Yes
No-NoThrottle policy ID that will affect all seeds that use this credential.

"4f07e6c5-d2e9-48d8-a55d-094917508c0f"

properties.useAzureAuthentication
Yes
No-NoWhether credentials are Azure AD Application (true) credentials or User account credentials (false).

true

properties.tenantDomain
Yes
No-NoOnly required if useAzureAuthentication is true. Tenant domain the Azure AD Application is part of. "contoso.onmicrosoft.com"
properties.clientId
Yes
No-NoOnly required if useAzureAuthentication is true. Azure AD Application ID."1a1a-2b2b2-2cc22-aaa456"
properties.certificatePath
Yes
No-NoOnly required if useAzureAuthentication is true. Path to the certificate file. This path has to be accesible by all worker nodes that will use these credentials."${dist.data.dir}/${app.name}/certificates/certificate.cer"
properties.privateKeyPath
Yes
No-NoOnly required if useAzureAuthentication is true.  Path to the certificate private key file. This path has to be accesible by all worker nodes that will use these credentials."${dist.data.dir}/${app.name}/keys/key.key"
properties.username
 Yes
No-NoOnly required if useAzureAuthentication is false. Username for the crawl account when using user/password credentials."aspire_crawl_account@contoso.onmicrosoft.com"
properties.password
Yes
No-NoOnly required if useAzureAuthentication is false. Password for the crawl account when using user/password credentials. This field can also be sent as an encrypted string. Check the encryption API for more information on how to encrypt."password"


Example

Code Block
themeRDark
titlePUT /aspire/_api/credentials/d42e1872-02c8-4a90-a714-44f15577389a
{
    "id": "d42e1872-02c8-4a90-a714-44f15577389a",
    "type": "sharepoint-online",
    "description": "SPO_Cred_new",
    "throttlePolicy": "4f07e6c5-d2e9-48d8-a55d-094917508c0f",
    "properties": {
        "useAzureAuthentication": false,
        "username": "aspire_crawl_account",
        "password": "encrypted:F8EC95B8007E645EA15E2D5F717EB370DAA4274D73D767DA0AF0F3AB94B8430C81AF774D2A272833C3AA77C4776B75B6"
    }
}

Create Connector


For the creation of the Connector object using the Rest API check this page.

Update Connector


For the update of the Connector object using the Rest API check this page.

Create Connection


Example

Code Block
themeRDark
titlePOST /aspire/_api/connections
{
    "type": "sharepoint-online",
    "description": "SPO_Connection",
    "credential": "d42e1872-02c8-4a90-a714-44f15577389a",
    "throttlePolicy": "4f07e6c5-d2e9-48d8-a55d-094917508c0f",
    "routingPolicies": ["5c7274ef-429b-46ef-8f73-f010e479a467", "9dee4fba-14f2-4afc-a74d-297bcbbd359a"],
    "properties": {
        "serverUrl": "https://contoso.sharepoint.com",
        "indexContainers": false,
        "scanRecursively": true,
        "useSnapshots": false,
        "stopCrawlOnScannerError": true,
        "filterNoCrawl": false,
        "crawlAttachments": true,
        "scanExcludedItems": false,
        "downloadLargeFiles": true,
        "dataSizeThreshold": "100mb",
        "includes": [
            ".*\\.pdf",
            ".*\\.pptx"
        ],
        "excludes": ".*\\.xml",
        "groupPrefixSeparator": "|",
        "lowercaseGE": false,
        "userGroupPageSize": 1000,
        "useAzureGroups": true,
        "azureADSeed": "f5587cee-9116-4011-b3a9-6b235b333a1b",
        "useProxy": true,
        "proxyHost": "proxy.com",
        "proxyPort": 8080,
        "useProxyAuthentication": true,
        "proxyDomain": "DIR",
        "proxyUser": "proxy_user",
        "proxyPassword": "thePassword",
        "requestProperty": [
            {
                "name": "user-agent",
                "value": "agent"
            }
        ],
        "retryCount": 2,
        "retrySleep": "500ms",
        "socketTimeout": "60s",
        "connectTimeout": "60s",
        "connectionRequestTimeout": "60s",
        "idleConnectionTimeout": "5m",
        "maxConnections": 100,
        "maxConnectionsPerRoute": 10
    }
}

Update Connection

Create Seed

Update Seed

...