Skip to main content

We are building an Integration in the box cloud:


1. Application Type: Custom App


2. Authentication Type: OAuth 2.0


3. Context Menu items are added using “Web Integration”



The Web Integration (Context Menu) Configuration is:





  1. Supports all file extensions


  2. Integration Type is “Files”




We are using BOX-NODE-SDK, to get the file details from the received fileId.



On click of the web-integration, we received the authCode and fileIdin the API.,


Using the AuthCode, we successfully fetched the AccessToken.



const sdk = new BoxSDK({

clientID: BOX_INTEGRATION_CLIENT_ID,

clientSecret: BOX_INTEGRATION_CLIENT_SECRET,

});



sdk.getTokensAuthorizationCodeGrant(authCode, null, function (err, tokenInfo) {

const boxClient = sdk.getPersistentClient(tokenInfo);



boxClient.files.get(fileId).then((file: any) => {

logger.info(file);

})

}



The above code sample returns the file details, but the path-collection is missing in the response.



Under the path-collection object, the entries array is empty and total_count is 0.



{

etag: "1"

extension: "txt"

file_version: {

id: "***"

sha1: "***"

type: "file_version"

}

id: "***"

lock: null

name: "sample.txt"

path_collection: {

entries: n],

total_count: 0

}

size: 7

type: "file"

version_number: "2"

}



But, as per the below image - the file is nested under multiple folders.


Any Idea what I am missing here?



@rbarbosa , @smartoneinok can you please help me here?



This is blocking my integration development.


When you use the web app integration, what user are using? Are you using the admin who owns the file or just a user that is collaborated?


@smartoneinok I am currently testing the integration with the Admin user, who is the owner of the file.



I tried to add multiple collaborators, but integration is not visible to them.



Please help me understand, how the path or any other field is different for each user role.


Issue resolved.



I was using the wrong configuration in the web integration.



Integration → Integration Scopes → “The parent folder of the file/folder from which this integration is invoked” is the right setup.



I was using → “The file/folder from which this integration is invoked”



Changing this configuration, resolved my issue. I am getting the complete Path now.




This topic was automatically closed 4 days after the last reply. New replies are no longer allowed.


Reply