A community space to collaborate on Box APIs, explore SDKs, and build powerful applications
Recently active
I often talk to to customers with use cases that revolve around reacting to certain things happening in their Box instance. Eg. when a file is uploaded in a certain folder, when a collaboration is added to certain sensitive content, when a document is signed or even when a file is previewed they want to take further action. This can be anything from notifying another system to start or continue a workflow, to looking up and applying metadata in Box from a different source. Obviously the Box first-party applications already support user notifications for these scenarios so in this article I will outline some approaches to the backend automation side of this. This is a companion discussion topic for the original entry at https://medium.com/box-developer-blog/lets-talk-about-events-61a5c62fb77c?source=rss----a995c24848a3---4
Hi there, I have few folder on which i have given access to different users. Now to meet compliance I need to remove access after a certain frequency. I want to know ways through which i can remove this access (which i have given to 1000+ users) from a certain folder. Manually its very tedious. I can work in Java/python and cli…thanks for reading it. Thanks a ton.
Hi there, I would like to know is it possible to limit the OAuth authorization to specific folder much like how the scopes parameter works: https://account.box.com/api/oauth2/authorize?response_type=code&client_id=ly1nj6n11vionaie65emwzk575hnnmrk&redirect_uri=http://example.com/auth/callback&folder_id=somefolderid
Hi , i am not able to read Excel or CSV file from box drive using Java SDK , Whenever I am trying to read using Java SDK its going to login page ,even I did authentication in the previous step but no luck Is it really possible without downloading a file and directly reading from box drive.? Or am I missing anything? If so please guide me. Thanks in advance, SIVARAMAN A
I am a ServiceNow Developer looking to build a Box Integration. Currently, I have ServiceNow configured to make API calls utilizing OAuth with JWT (Server Authentication). The steps I followed to accomplish that can be found here. This does work. For testing and development purposes I would like to configure Postman to emulate exactly what I have configured in the provided link. By that I mean I was to use the same client id, secret id, and point to the same custom app that was created in those steps. I feel like I want to use the developer token generated from the custom app to accomplish this, similar to what Alex responded within this post, however, I don’t see how to point to my custom app. Admittedly, when searching for documentation on how to accomplish this I probably don’t know enough about this process to find the correct steps. Any guidance on how to accomplish this would be appreciated. Thank you
I’m trying to specify a Dropdown item of a template ( in prefill_tags ) in a signing request. I tried using text_value but it didn’t seem to work. Do I have to specify the Dropdown item index somehow instead? I hope this is possible, as it seems this would be barebones functionality. Thanks.
Hello, I’m using the Box API with Python and the boxsdk module. I have developed a system that does the following: when a user uploads a file to a specific folder, a “FILE.UPLOADED” webhook is sent to my server. Then, my server sends a request to rename the file using the file.update_info(data={'name': 'some name'}) instruction. This works. In this case, I need to rename my files with the same name but with a suffix indicating the file number. For example: “file_1.png”, “file_2.png”, “file_3.png”… However, when a user uploads multiple files at once, these requests happen very quickly. My system checks if a file with the same name already exists before attempting to rename the file. If it does, it tries with a higher index suffix: 1, then 2, then 3, and so on. It’s possible that my script doesn’t find a file with the same name, and then, in the time interval between the test and the request to rename the file, another file is renamed with that name. This results in a 409 status error (“
My company does not allow us to share a box folder with any other users or service account. How can I give access to box folder with service account created by my company and not by Box(automation user svc account). Basically, I don’t want to use svc user auto generated by Box upon authorisation but I want use box apis to upload the file. How can I do this? I really need answer to this as soon as possible. Thanks in advance.
Hi all, I create an application and I use private / public key for authenticate. I use .net sdk to upload a file, create a sign request to 1 email and everythinks works fine. After that I recieved the email to sign the document and I can sign it, but after signing the document the sign request is never validated. I don’t have any other emails about errors. Is there a way to have the sign request status ? I try to do the same process manually and it’s work. Did I miss something ?
Please find attached a recording, summary and resources from our most recent Box for Salesforce roundtable here We would like to express our gratitude to Don Hammons of mxHero, Kyle Adams, and Shawn Shay from Box for their excellent presentations. We also extend our thanks to the guests who joined us. Highlights. Recording here Overview of Box automations available in Salesforce Demo of Box Sign for Salesforce mxHero Overview of email management from the cloud and demo of Mail2Sign mxHero LLM AI integration with Mail2BoxSign Box Sign Roadmap (21 CFR Part 11 Compliance, and other updates coming soon)
Is there an easy way to get the number of pages of box file using a native Box api?
Hello, From https://developer.box.com/guides/api-calls/permissions-and-errors/rate-limits/ I can see there are monthly API max limits by customer. Where can I go to see my account’s current API usage towards this monthly cap?
In my previous post, I explored the topic of Box Node.js authentication with OAuth 2.0. Now let’s jump into another method that includes JWT, server-side authentication. It is the most common way to authenticate to the Box API. This is a companion discussion topic for the original entry at https://medium.com/box-developer-blog/authenticate-box-node-js-sdk-with-jwt-47fdd3aeec50?source=rss----a995c24848a3---4
We are currently implementing a functionality to automatically create a Box folder upon record creation in Salesforce. However, we are facing an issue where the folder creation process does not occur (no folder is created, and the return value is NULL) when using the createFolderForRecordId method from the Salesforce Developer Toolkit within an after insert trigger on record creation. We have confirmed that the process works correctly and the folder is created when manually triggered from the Developer Console. Could you please provide guidance on the possible cause of this issue? If it is not possible to achieve automatic folder creation within the trigger, could you please suggest an alternative solution for resolving this requirement? I got a error message as below. 18:18:41:463 USER_DEBUG [572]|DEBUG|Unable to create folder for record id a0E1m000007S0gcEAC - Details: Unable to use default credentials to make a callout to Box (maybe this is in a trigger, constructor, or after a DML
Could you please provide guidance on how to use the API (Update metadata instance on folder:PUT) using Apex? For Create metadata instance on folder(POST), I was able to achieve it as described above. However, I’m unsure how to set the Body for Update metadata instance on folder. Sample Code for Use Create metadata instance on folder(POST) box.Toolkit toolkit = new box.Toolkit(); String folderId = project.ProjectFolderId__c; Map<String, String> metadata = new Map<String, String>{ ‘masterdefkeyword1’ => project.Keyword1__c, ‘masterdefkeyword2’ => project.Keyword2__c, ‘masterdefkeyword3’ => project.Keyword3__c, ‘projectsupplementkeyword1’ => project.SupplementKeyword1__c, ‘projectsupplementkeyword2’ => project.SupplementKeyword2__c, ‘projectsupplementkeyword3’ => project.SupplementKeyword3__c }; String scope = ‘enterprise’; String tempName = ‘projectmetadatatemplate’; // Box endpoint(Create metadata instance on folder) String endpoint
Hello all, Currently, I’m trying to utilize Box to upload/download documents using Nodejs on the backend to do this. From my understanding, I would need to get an access/bearer token (from: https://api.box.com/oauth2/token) - which I’m able to do using Client ID and Client Secret, and once I have the the bearer token I can make API calls as needed. However, I’m trying to test a few of the API calls using postman and receiving an error when doing it this way. As an example, to list the current items in a folder I’m making a GET request in Postman to: https://api.box.com/2.0/folders/:folder_id/items where I’m setting :folder_id to 0. I receive this error that says: { "type": "error", "status": 404, "code": "not_found", "context_info": { "errors": [ { "reason": "invalid_parameter", "name": "folder", "message": "Invalid value 'd_215579098453'. 'folder' with value 'd_215579098453' not found" }
We are excited to introduce new extensibility features that enable developers to leverage the power of Box Sign within custom applications! Developers can now leverage Box Sign reusable template capabilities within custom applications with reusable template APIs. With template APIs , developers can enable the following capabilities for senders when integrating Box Sign with custom applications: Provide a list of all their Box Sign reusable templates Obtain template details via associated template IDs Initiate signature requests using specific templates The first step to leveraging this capability is to create the reusable template within the Box Sign native web application within Box. From there, senders can send a sign request using the template they just created, and pre-populate the full name placeholders. First, users need a ‘template_id’ to identify which template they will be using. We can list all the available templates using the ‘/sign_templates’ end point: curl --location '
We started to create Python workshops around the Box Platform. The idea is to have a set of exercises any developer can do, for a hands-on exploration of the Box API. You can find these workshops here: GitHub GitHub - barduinor/box-workshop-python Contribute to barduinor/box-workshop-python development by creating an account on GitHub. In this early stage, we are looking for feedback, ideas and comments, so please drop us a line. Cheers
Hi folks, Check out the new blog article: Medium – 5 Jul 23 How to recursively upload a folder to Box using Python In this article, learn how to recursively upload files to Box using Python, while taking advantage of Box API features such as pre-flight… Reading time: 5 min read When uploading files recursively, we also need to check if the folders and files already exists, because the user may upload an entire folder a second and third time. Take a look at this example, where we use the prefilght_check to verify if the file can be accepted, and decide if we are uploading a new file or creating a new version of an existing one. Here is something to whet your appetite: def main(): """main app demo""" settings = get_settings() # check if sample folder exist and create them if not sample_folder = check_sample_folders(settings.sample_folder_base_dir) # get a client service_client = box_client_ge
Hi everyone, I’m new here and would appreciate your help with some questions I have about the Content Explorer. I’m trying to set it up so that the preview opens when I double-click an image in thumbnail view. Is there any way to achieve this? Currently, the preview only opens when I click on the filename or a button. I set ‘select’ for the event in addListener, but it’s triggering when I hit other buttons like the ‘share’ button. Is there a way to limit the ‘select’ event to only when a file is selected? Also, what would be the way to make the preview open again when clicking on the same file? Thanks for taking the time to read this Apologies in advance if I’ve posted this in the wrong topic, as this is my first time here.
@matt.riley Could you share thoughts and/or tips on how to automatically apply metadata to file uploads done through the “File Request” feature? The use case is wanting file request uploaders to upload specific types of documents in each separate upload field and to automatically apply a metadata label to the upload done in that field. For example, a File Request form with a Diploma field and a Resume field, upon upload / completion of the File Request those uploads would be tagged in metadata as diploma and resume, respectively. Thus later we could search by metadata for diploma and get all diploma uploads but not resumes, and vice-versa. As a side note, I find metadata in Box confusing because of the requirement to create a “template” which is unusual compared to other tools where one can just create and define metadata independently.
Does the ability to specify a template file id in a document signing request exist is the SDKs yet? If so, I’d like some documentation for the Python SDK at least. Basically the same question was asked here by another but not sufficiently answered: Box Support Box Sign API - Template ID I have just been informed that template_id is a new POST body param, and while you can use template_id and it will utilize a template in the box sign request creation, it does not seem to be popula... Edit: Just noticed this: Introducing: Template APIs for Box Sign! Box Sign I can’t wait for this to be available in the SDK’s Stay tuned! Any movement on this? Thanks.
I have created an application as the documentation says, but I always get this error. https://developer.box.com/guides/authentication/client-credentials/ This is your documentation, can you help me? This is my app client id: alhd08bt4pv1gt6n9i4ipi8andjscofb curl -i -X POST "https://api.box.com/oauth2/token" \ -H"Content-Type: application/x-www-form-urlencoded"\ -d"client_id=alhd08bt4pv1gt6n9i4ipi8andjscofb"\ -d"client_secret=*****"\ -d"grant_type=client_credentials"\ -d"box_subject_type=user"\ -d"box_subject_id=2629647****" Response { "error": "invalid_grant", "error_description": "Grant credentials are invalid" }
Following up with the Rusty Box: Creating a Rust client for a hackathon, we have released a crate with an initial implementation of the users API end points. You can find the crate here. You can follow up and participate in this open source project at this GitHub repo. If you want to try it: Create a new rust project cargo new my-box-project cd my-box-project Add rusty-box to your dependencies cargo add dotenv cargo add rusty-box Create a .dev.env file in the root of your project DEVELOPER_TOKEN=YOUR_DEVELOPER_TOKEN Open your main.rs file and add the following code use rusty_box::{ auth::{auth_developer::DeveloperToken, AuthError}, box_client::BoxClient, config::Config, rest_api::users::users_api, }; use std::env; #[tokio::main] async fn main() -> Result<(), AuthError> { dotenv::from_filename(".dev.env").ok(); let config = Config::new(); let auth = DeveloperToken::new( config, env::var("DEVELOPER_TOKEN").expect("DEVELOPER_TOKEN
At the beginning of June, Box Platform launched a new brand API to manage mapping folders in Box to channels in Slack, and also recently launched a new scripts for admins and developers to complete repetitive tasks using the Box CLI. Today, we are releasing a new automation template script using the integrations mappings for Slack API. This is a companion discussion topic for the original entry at https://medium.com/box-developer-blog/new-box-cli-automation-template-to-manage-slack-integration-folder-mappings-a174f9985768?source=rss----a995c24848a3---4
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.