Versions Compared

Key

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

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

  • Credential
  • Connection
  • Connector
  • Seed

Below are the examples of how to create the Connection and the Seed. For the Connector, please refer to this page.

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

Create Credential


onedriveonedrivedomain

Field

Required

Default

Multiple

NotesExample
typeYes-No

The value must be "

box".

"

box"

descriptionYes-NoName of the credential object.

"One DriveCredentialBox Credential"

propertiesYes-NoConfiguration object
credentialTypeYesbasic
Type of authentication, basic or jwt
ClientId-NoTenant domainyourdomain.onmicrosoft.comappIDYes-NoOnly required if credentialType "basic" is selected.Box App Client Id
ClientSecretAzure application ID registeredsampleapplicationidappSecretYes-NoAzure application secretxxxxxxxxxxxxxxxxxxxxxxxxxxOnly required if credentialType "basic" is selected.Box App Client Secret
useJWTgraphURLYes-falseNoThe graph URLhttps://graph.microsoft.com/v1.0

Example

Only required if credentialType "jwt" is selected.Indicates if we want to use JWT individual credentials
jwtconfigdirYes-NoOnly required if useJWT "false" is selected. Path of the JWT generated config file
publicKeyID Yes-
Only required if useJWT "true" is selected. PublicKey ID from JWT 
privateKeyYes-
Only required if useJWT "true" is selected. PrivateKey
passphraseYes-
Only required if useJWT "true" is selected. Passphrase for the private key
enterpriseIDYes-
Only required if useJWT "true" is selected. EnterpriseID of your Box Account






Example

Code Block
themeRDark
titlePUT aspire/_api/credentials/2a5ca234-e328-4d40-bb2a-2df3e550b065
{
    "id": "2a5ca234-e328-4d40-bb2a-2df3e550b065",
    "description": "<Connector Name> Credential",
    "properties": {   
		"credentialType": "basic"
Code Block
themeRDark
titlePOST aspire/_api/credentials
{
    "type": "<Connector Type>",
    "description": "<Connector Name> Credential",
    "properties": {   
	 	"domain": "yourdomain.onmicrosoft.com"
        "appID": "sampleapplicationid",
        "appSecretClientId": "xxxxxxxxxxxxxxxxxxxxxxxxxx6znlpe3l2xoknk1x1l35j029z4i5erty",
        "graphURLClientSecret": "https://graph.microsoft.com/v1.0"
     }
}

Update Credential

Field

Required

Default

Multiple

NotesExampleidYes-NoID of the credential to update."2f287669-d163-4e35-ad17-6bbfe9df3778"descriptionYes-NoName of the credential object.

"OneDriveCredential"

propertiesYes-NoConfiguration objectdomainYes-NoTenant domainyourdomain.onmicrosoft.comappIDYes-NoAzure application ID registeredsampleapplicationidappSecretYes-NoAzure application secretxxxxxxxxxxxxxxxxxxxxxxxxxxgraphURLYes-NoThe graph URLhttps://graph.microsoft.com/v1.0

Example 

Code Block
themeRDark
titlePUT aspire/_api/credentials/2a5ca234-e328-4d40-bb2a-2df3e550b065
{
    "id": "2a5ca234-e328-4d40-bb2a-2df3e550b065",
    "description": "<Connector Name> Credential",
    "properties": {   
		"domain": "yourdomain.onmicrosoft.com"
        "appID": "sampleapplicationid",
        "appSecret": "xxxxxxxxxxxxxxxxxxxxxxxxxx",
        "graphURL": "https://graph.microsoft.com/v1.0"     
	}
}

Create Connection

Field

Required

Default

Multiple

Notes

Example

typeYes-No

The value must be OneDrive

onedrive

descriptionYes-NoName of the connection object.

"MyOne DriveConnection"

credentialYes-NoID of the credential that applies to this connection object."d42e1872-02c8-4a90-a714-44f15577389a"throttlePolicyNo-NoID of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"routingPoliciesNo[ ]YesThe IDs of the routing policies that this connection will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]propertiesYes-NoConfiguration objectindexContainersNoTRUENoSelect if containers are to be indexed. Clear to index files only.TRUEscanRecursivelyNoTRUENoSelect if subfolders are to be scanned.TRUEscanExcludedItemsNoFALSENoSelect so that the scanner will scan sub items of container items excluded by a patternFALSEincludesNo-YesList of regex URL patterns to include[{"include":".*tmp[^/]$"}]includeNo-Noregex URL patterns to include".*tmp[^/]$"excludesNo-YesList of regex URL patterns to exclude[{"include":".*tmp[^/]$"}]excludeNo-Noregex URL patterns to exclude".*tmp[^/]$"

Example

Code Block
themeRDark
titlePOST aspire/_api/connections
{     
	"type": "onedrive",
    "credential": "d42e1872-02c8-4a90-a714-44f15577389a",
    "throttlePolicy": "",
    "routingPolicies": ["5c7274ef-429b-46ef-8f73-f010e479a467", "9dee4fba-14f2-4afc-a74d-297bcbbd359a"],
    "description": "<Connector Name> Test Connector",
    "properties": {
        "indexContainers": true,
        "scanRecursively": true,
        "scanExcludedItems": false,
        "includes": [
            {"include": ".*tmp[^/]$"}
        ],
        "excludes": [
            {"exclude": ".*tmp[^/]$"}
        ]
    } 
}

Update Connection

Field

Required

Default

Multiple

Notes

Example

idYes-NoID of the connection to update"89d6632a-a296-426c-adb0-d442adcab4b0",descriptionNo-NoName of the connection object.

"MyImage RemovedConnection"

credentialYes-NoID of the credential that applies to this connection object."d42e1872-02c8-4a90-a714-44f15577389a"throttlePolicyNo-NoID of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"routingPoliciesNo[ ]YesThe IDs of the routing policies that this connection will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]propertiesYes-NoConfiguration objectindexContainersNoTRUENoSelect if containers are to be indexed. Clear to index files only.TRUEscanRecursivelyNoTRUENoSelect if subfolders are to be scanned.TRUEscanExcludedItemsNoFALSENoSelect so that the scanner will scan sub items of container items excluded by a patternFALSEincludesNo-YesList of regex URL patterns to include[{"include":".*tmp[^/]$"}]includeNo-Noregex URL patterns to include".*tmp[^/]$"excludesNo-YesList of regex URL patterns to exclude[{"include":".*tmp[^/]$"}]excludeNo-Noregex URL patterns to exclude".*tmp[^/]$"

Example

Code Block
themeRDark
{     
	"id": "89d6632a-a296-426c-adb0-d442adcab4b0",
    "type": "onedrive",
    "credential": "d42e1872-02c8-4a90-a714-44f15577389a",
    "throttlePolicy": "",
    "routingPolicies": ["5c7274ef-429b-46ef-8f73-f010e479a467", "9dee4fba-14f2-4afc-a74d-297bcbbd359a"],
    "description": "<Connector Name> Test Connector",
    "properties": {        "xxxxxxxxxxxxxxxxxxxxxxxxxx"
	}
}

#JWT - useJWT=false
{
    "id": "2a5ca234-e328-4d40-bb2a-2df3e550b065",
    "description": "<Connector Name> Credential",
    "properties": {   
		"credentialType": "jwt"
        "useJWT": "false",
        "indexContainersjwtconfigdir": true,
  "c:\\dev\\configJWT.json"
	}
}

#JWT - useJWT=true
{
      "scanRecursivelyid": true"2a5ca234-e328-4d40-bb2a-2df3e550b065",
        "scanExcludedItems": false"description": "<Connector Name> Credential",
    "properties": {    
		"includescredentialType": ["jwt"
            {"includeuseJWT": ".*tmp[^/]$"}true",
        ]"publicKeyID":"03a3i9xx",
        "excludesprivateKey": [
            {"exclude": ".*tmp[^/]$"}
        ]    
    } 
}"-----BEGIN ENCRYPTED PRIVATE KEY-----\nMIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIRC+Qx0nXyy8CAggA\nMBQGCCqGSIb3DQMHBAiTStLdrQuFWQSCBMgK7yKqHMnOT2Kyn
RTKRpm8/fJwKHDc\nuOOwAvZbeseVjF2MXxzEarLrs5xHbF5C4MwOzyAbRoc+Lu1ekLESPNg9n5r51opH\n5ZmanhlYKKKpTv3bZh8OPRC/pKyWkVY62UxRIA+g0kb6ZGPM2MTGQ7zseFeceuuC\nu6ZEN6Nl166
LgGfgUqpUUV01aGOGxN/zWJkTe5PBL2LydYK9HeTNgFgD24l+aCTU\nyOMJqZ0P+mdUdZKO7uEzwGOzR7MK8EKAg6++JBzz8k2uyWSKJpLLN+Z0ro7Ih9jy\nM0cEMI1T7/E6eH0rbtMbR+3MDz1GaJPCjdan5EYv
YCtHeK7kBb0InHVBPY6ps2HT\nFesaBdN4iJrPNlpKg6TnEjhE5IhS04WqmyfSW9JCKD/K0HsH3cYQ8DevJE+c0BYX\nOiP3ZBxgrOdvR9BCGv6kCgOEqSJYnBcljvJfOf8hS+kEBEPEst8g+EoR+zj91yD4\n
ftTscwNe35buNrthAUtO7g18UcnaFrQ43h/y0tqTofQ1HVMMoWXt/VIFKb3+0lZd\nSLPCFBYhSgWNm64/Hq8p+8hsBvhbKhBLCtTzpeXQ2pX\nwtQ=\n-----END ENCRYPTED PRIVATE KEY-----\n",
        "passphrase":"7ce354e5dd8a5fad95852616addd3b61",
        "enterpriseID":"512122"
	}
}


Create Connection

Create Connector Instance

For the creation of the Connector object using the Rest API, please refer to this page.

Update Connector Instance

For the update of the Connector object using the Rest API, please refer to this page.

Create Seed


Field

Required

Default

Multiple

Notes

Example

seedYes-No

<seed description>

typeYes-No

The value must

be one-drive.onedrive

be box

box

descriptionYes-NoName of the
seed
connection object.

"

My OneDrive Seed

MyBoxConnection"

connector
serverYes
-NoThe ID of the connector to be used with this seed. The connector type must match the seed type."82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31"
https://app.box.com
URL for Box server
serverApiYeshttps://api.box.com
URL for Box server API
apiVersionYes2.0
Box api version
pageSizeNo10
Page for pagination of the files and folders
stopScanErrorNofalse
Stop scan on error
scanExcludedItemsNofalse
Scan excluded items or folders
credentialYes-NoID of the credential that applies to this connection object."d42e1872-02c8-4a90-a714-44f15577389a"
connectionYes-NoThe ID of the connection to be used with this seed. The connection type must match the seed type."602d3700-28dd-4a6a-8b51-e4a663fe9ee6"workflowsNo[ ]YesThe IDs of the workflows that will be executed for the documents crawled.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]
throttlePolicyNo-NoID of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"
routingPoliciesNo[ ]YesThe IDs of the routing policies that this
seed
connection will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
tags
propertiesYes-NoConfiguration object
indexContainersNo
[ ]
false
YesThe tags of the seed. These can be used to filter the seed.["tag1", "tag2"]propertiesYes-NoConfiguration objectseedYes-NoThis value must be onedrive_seed"onedrive_seed"usersTypeYes"List"NoThe way to add the users to crawl ("List" or "File")"List"users
NoSelect if containers are to be indexed. Clear to index files only.TRUE
scanRecursivelyNotrueNoSelect if subfolders are to be scanned.TRUE
scanExcludedItemsNofalseNoSelect so that the scanner will scan sub items of container items excluded by a patternFALSE
includesNo-Yes
Only required if usersType "
List
" is selected.  List of users[{"user": "user1"},{"user": "user2"}]
of regex URL patterns to include[{"include":".*tmp[^/]$"}]
excludes
userNo-NoOnly required if usersType "List" is selected.User Principal Name"[email protected]"usersFile
No-
NoOnly required if usersType "File" is selected. The path to the names list file"config/userNames.txt"
Example 
YesList of regex URL patterns to exclude[{"include":".*tmp[^/]$"}]

Example

Code Block
themeRDark
titlePOST aspire/_api/seedsconnections
# LIST
{
    "type": "<Connector Type>",
    "seed": "directory",
{     
	"connectortype": "82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31box",
    "descriptioncredential": "<connector>_Test_Seedd42e1872-02c8-4a90-a714-44f15577389a",
    "throttlePolicy": "6b8b5f23-fc77-47a1-9b58-106577162e7b",
    "routingPolicies": ["313de87c5c7274ef-3cb9429b-4fe046ef-a2cb8f73-17f75ce7d0c7f010e479a467", "b4d2579f9dee4fba-1a0a14f2-4a8b4afc-9fd4a74d-d42780003b36297bcbbd359a"],
    "connectiondescription": "602d3700-28dd-4a6a-8b51-e4a663fe9ee6<Connector Name> Test Connector",
    "workflowsproperties": ["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]{
         "server":"https:\/\/app.box.com",
    "tags": ["tag1", "tag2"],
    "serverApi"properties:"https: {         
		"seed": "onedrive_seed",     
		"usersType": "List",
	 	"users":[
			{"user": "user1"},
		 	{"user": "user2"}
		 ]     
	}
}

# FILE
{
    "type": "<Connector Type>"\/\/api.box.com",
         "apiVersion":"2.0",
         "pageSize":10,
         "stopScanError":false
         "indexContainers": true,
         "scanRecursively": true,
         "seedscanExcludedItems": "directory"false,
         "connectorincludes": "82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31",
[
       "description": "<connector>_Test_Seed",
    {"throttlePolicyinclude": "6b8b5f23-fc77-47a1-9b58-106577162e7b",
.*tmp[^/]$"}
      "routingPolicies": ["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"   ],
         "connectionexcludes": "602d3700-28dd-4a6a-8b51-e4a663fe9ee6",
[
            {"workflowsexclude": ["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"],".*jpg[^/]$"}
        ]
    "tags": ["tag1", "tag2"],
    "properties": {         
		"seed": "onedrive_seed",     
		"usersType": "List",
 		"seed": "onedrive_seed",     
		"usersType": "File",
	 	"usersFile": "config/userNames.txt"     
	}
}

Update Seed

} 
}


Create Connector Instance


For the creation of the Connector object using the Rest API, please refer to this page.

Update Connector Instance


For the update of the Connector object using the Rest API, please refer to this page.

Create Seed


Field

Required

Default

Multiple

Notes

Example

seedYes-No<seed description>
typeYes-No

The value must be box.

box

descriptionYes-NoName of the seed object.

"My Box Seed"

connectorYes-NoThe ID of the connector to be used with this seed. The connector type must match the seed type."82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31"
connectionYes-NoThe ID of the connection to be used with this seed. The connection type must match the seed type."602d3700-28dd-4a6a-8b51-e4a663fe9ee6"
workflowsNo[ ]YesThe IDs of the workflows that will be executed for the documents crawled.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]
throttlePolicyNo

Field

Required

Default

Multiple

Notes

Example

idYes
-NoID of the
seed to update
throttle policy that applies to this connection object."
2f287669
f5587cee-
d163
9116-
4e35
4011-
ad17
b3a9-
6bbfe9df3778
6b235b333a1b"
seed
routingPoliciesNo
-
[ ]
No<seed description>descriptionNo-NoName of the seed object.

"MyOneDriveSeed"

connectorNo-NoThe ID of the connector to be used with this seed. The connector type must match the seed type."82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31"connectionNo-NoThe ID of the connection to be used with this seed. The connection type must match the seed type."602d3700-28dd-4a6a-8b51-e4a663fe9ee6"workflowsNo[ ]YesThe IDs of the workflows that will be executed for the documents crawled.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]workflows.addNo[ ]YesThe IDs of the workflows to add.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]workflows.removeNo[ ]YesThe IDs of the workflows to remove.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]throttlePolicyNo-NoID of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"routingPoliciesNo[ ]YesThe IDs of the routing policies that this seed will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]routingPolicies.addNo[ ]YesThe IDs of the routingPolicies to add.["b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]routingPolicies.removeNo[ ]YesThe IDs of the routingPolicies to remove.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7"]tagsNo[ ]YesThe tags of the seed. These can be used to filter the seed.["tag1", "tag3"]tags.addNo[ ]YesThe tags to add["tag4"]tags.removeNo[ ]YesThe tags to remove["tag2"]propertiesYes-NoConfiguration objectseedYes-NoThis value must be onedrive_seed"onedrive_seed"usersTypeYes"List"NoThe way to add the users to crawl ("List" or "File")"List"usersNo-YesOnly required if usersType "List" is selected.  List of users[{"user": "user1"},{"user": "user2"}]userNo-NoOnly required if usersType "List" is selected.User Principal Name"[email protected]"usersFileNo-NoOnly required if usersType "File" is selected. The path to the names list file"config/userNames.txt"

Example 

Code Block
themeRDark
titlePUT aspire/_api/seeds/2f287669-d163-4e35-ad17-6bbfe9df3778
{
    "id": "2f287669-d163-4e35-ad17-6bbfe9df3778",
    "seed": "<seed example>",
    "connector": "82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31",
    "description": "<connector>_Test_Seed",
    "throttlePolicy": "6b8b5f23-fc77-47a1-9b58-106577162e7b",
    "routingPolicies": ["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"],
    "connection": "602d3700-28dd-4a6a-8b51-e4a663fe9ee6",
    "workflows": ["b255e950-1dac-46dc-8f86-1238b2fbdf27", "f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"],
    "tags": ["tag", "tag2"],
    "properties": {         
		"seed": "onedrive_seed",     
		"usersType": "List",
	 	"users":[
			{"user": "user1"},
		 	{"user": "user2"}
		 ]
	}
}

...

YesThe IDs of the routing policies that this seed will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
tagsNo[ ]YesThe tags of the seed. These can be used to filter the seed.["tag1", "tag2"]
propertiesYes-NoConfiguration object
seedYes-NoThis value must be box_seed"box_seed"
impersonateYesallNoIndicates that all Box users will be impersonated to get all their content
impersonateYesspecificNoIndicates that specific list of Box users will be impersonated to get all their content
ImpersonatingUsersYes 
YesList of users to impersonate
userLoginYes

User login to impersonate (array of users login)[{"userLogin": "[email protected]"},{"userLogin": "[email protected]"}]
shouldBackoffNofalseNoSelect this option if the connection to the server throws an error for a backoff to be donetrue
backoffMinutesYes-YesOnly required if shouldBackoff is "true". Time to wait when a backoff error is encountered.5
backoffRetriesNo-NoOnly required if shouldBackoff is "true". Number of retries with backoff when error is encountered2
excludeSubFoldersNofalse
Select this option if there are folders to exclude from crawl.
folderNo-NoOnly required if excludeSubFolders is "true".Specify folder's name to exclude"config/userNames.txt"

Example 

Code Block
themeRDark
titlePOST aspire/_api/seeds
# LIST
{
    "type": "<Connector Type>",
    "seed": "box_seed",
    "connector": "82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31",
    "description": "<connector>_Test_Seed",
    "throttlePolicy": "6b8b5f23-fc77-47a1-9b58-106577162e7b",
    "routingPolicies": ["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"],
    "connection": "602d3700-28dd-4a6a-8b51-e4a663fe9ee6",
    "workflows": ["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"],
    "tags": ["tag1", "tag2"],
    "properties": {            
	    "seed":"box_seed",        
        "impersonate":"specific",
        "ImpersonatingUsers":
         [
           {"userLogin":"[email protected]"},
           {"userLogin":"[email protected]"}
         ],
         "shouldBackoff":true,
         "backoffMinutes":"15",
         "backoffRetries":"3",
         "excludeSubFolders":
         [ 
           {"folder":"images"}
         ]
   }
}