Skip to main content

Retrieving Folder ID based on path


I am trying to retrieve the Folder ID based on the path of the folder using Microsoft Power Automate. I don’t see a Power Automate Action that accomplishes this. I’m not a developer so I am looking for a simple way to retrieve this information using the Box API. Any ideas?

4 replies

rbarbosa Box
  • Developer Advocate
  • 553 replies
  • August 23, 2023

Hi @scamero2 , welcome to the forum!


Can you elaborate a bit more?


Where are you getting the path, and how does that path relate to the Box structure?


Can you send some examples?


  • Author
  • New Participant
  • 1 reply
  • August 23, 2023

I am trying to create an automated workflow in Microsoft Power Automate. In Power Automate I have a flow that includes a Create file action to create a file in Box. For example, it might create the following file:


/Clients/ABC Client/Client Meetings/Previous Test Case/one.txt


The path is dynamic based on variables defined in the flow. Once the file is created, I need to retrieve the Folder ID for /Clients/ABC Client/Client Meetings/Previous Test Case to use later in my flow.


There isn’t an action in Power Automate to retrieve the folder ID. On a Power Automate forum someone recommended using the Box API and an HTTP Get action to retrieve the folder ID. I am uncertain how to do that and deal with the authentication. I was hoping for a simpler method.


rbarbosa Box
  • Developer Advocate
  • 553 replies
  • August 23, 2023

Hi @scamero2 ,


My hope is that when you create the file in Box you should get a file_id back. This would make things much easier, and can be accomplished with a single api call.


Assuming that `file_id= 1282567002306’


Then an API Get to the file end point:


curl --location 'https://api.box.com/2.0/files/1282567002306?fields=id%2Ctype%2Cname%2Cparent' \

--header 'Authorization: Bearer aNWi...8DF' \


Returns:


{

    "type": "file",

    "id": "1282567002306",

    "etag": "0",

    "name": "Box-Dive-Waiver.pdf",

    "parent": {

        "type": "folder",

        "id": "222041173483",

        "sequence_id": "0",

        "etag": "0",

        "name": "Barbosa"

    }

}


What is puzzling to me is that you need the folder_id to create or upload the file…


Let us know if this helps.


Cheers


reynlds-illinois

I can confirm that when using the following python snippet, the return contains a number of attributes identifying the new object, including the ‘id’ (or ‘object_id’):

r = boxClient.folder(boxGuestFolderId).upload(boxGuestCredentialsFilePath, boxGuestCredentialsFilename)

Here is the full list I see on the file upload/create action:

[ ‘add_classification’, ‘add_comment’, ‘add_to_collection’, ‘apply_watermark’, ‘as_user’, ‘clone’, ‘collaborate’,‘collaborate_with_login’, ‘content’, ‘content_created_at’, ‘content_modified_at’, ‘copy’,‘create_shared_link’, ‘create_task’, ‘create_upload_session’, ‘created_at’, ‘created_by’, ‘delete’,‘delete_version’, ‘delete_watermark’, ‘description’, ‘download_to’, ‘etag’, ‘file_version’, ‘get’,‘get_all_metadata’, ‘get_chunked_uploader’, ‘get_classification’, ‘get_collaborations’, ‘get_comments’,‘get_download_url’, ‘get_embed_url’, ‘get_previous_versions’, ‘get_representation_info’,‘get_shared_link’, ‘get_shared_link_download_url’, ‘get_tasks’, ‘get_thumbnail’,‘get_thumbnail_representation’, ‘get_type_url’, ‘get_url’, ‘get_watermark’, ‘id’, ‘item_status’,‘lock’, ‘metadata’, ‘modified_at’, ‘modified_by’, ‘move’, ‘name’, ‘object_id’, ‘object_type’,‘owned_by’, ‘parent’, ‘path_collection’, ‘preflight_check’, ‘promote_version’, ‘purged_at’,‘remove_classification’, ‘remove_from_collection’, ‘remove_shared_link’, ‘rename’,‘response_object’, ‘sequence_id’, ‘session’, ‘set_classification’, ‘set_disposition_at’, ‘sha1’,‘shared_link’, ‘size’, ‘translator’, ‘trashed_at’, ‘type’, ‘unlock’, ‘untranslated_fields’,‘update_classification’, ‘update_contents’, ‘update_contents_with_stream’, ‘update_info’, ‘validate_item_id’, ‘with_shared_link’]


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings