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
titleOn this page

Table of Contents

Create Credentials


FieldOptionalDefaultMultipleNotesExample
typeNo-NoThe value must be "sharepoint-online"."sharepoint-online"
descriptionNo-NoShort description or name for the credential."SPO_Prod_Credentials"
throttlePolicyYes-NoThrottle policy ID that will affect all seeds that use this credential.

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

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

true

properties.tenantDomainNo-NoOnly required if useAzureAuthentication is true. Tenant domain the Azure AD Application is part of. "contoso.onmicrosoft.com"
properties.clientIdNo-NoOnly required if useAzureAuthentication is true. Azure AD Application ID."1a1a-2b2b2-2cc22-aaa456"
properties.certificatePathNo-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.privateKeyPathNo-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-NoOnly required if useAzureAuthentication is false. Username for the crawl account when using user/password credentials."[email protected]"
properties.passwordNo-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


Saga_json
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


FieldOptionalDefaultMultipleNotesExample
idNo-NoId of the credential to update"d42e1872-02c8-4a90-a714-44f15577389a"
typeNo-NoThe value must be "sharepoint-online"."sharepoint-online"
descriptionYes-NoShort description or name for the credential."SPO_Prod_Credentials"
throttlePolicyYes-NoThrottle policy ID that will affect all seeds that use this credential.

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

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

true

properties.tenantDomainYes-NoOnly required if useAzureAuthentication is true. Tenant domain the Azure AD Application is part of. "contoso.onmicrosoft.com"
properties.clientIdYes-NoOnly required if useAzureAuthentication is true. Azure AD Application ID."1a1a-2b2b2-2cc22-aaa456"
properties.certificatePathYes-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.privateKeyPathYes-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-NoOnly required if useAzureAuthentication is false. Username for the crawl account when using user/password credentials."aspire_crawl_account@contoso.onmicrosoft.com"
properties.passwordYes-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

Saga_json
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

Saga_json
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