Unable to get folder by id using Boxr gem Ruby SDK for Box API
I'm currently working on a Rails 5.2 application where I'm using FormStack form service. Formstack makes use of Box for it's storing services. I started using Boxr gem to interact with the Box API. To create a client you will need a developer token. client = Boxr::Client.new('{BOX_DEVELOPER_TOKEN}') However, this BOX_DEVELOPER_TOKEN expires every 60 minutes. So I decided to use JWT for authentication. So I generate the token the following way: token = Boxr::get_enterprise_token(private_key: ENV.fetch('JWT_PRIVATE_KEY'), private_key_password: ENV.fetch('JWT_PRIVATE_KEY_PASSWORD'), public_key_id: ENV.fetch('JWT_PUBLIC_KEY_ID'), enterprise_id: ENV.fetch('BOX_ENTERPRISE_ID'), client_id: ENV.fetch('BOX_CLIENT_ID'), client_secret: ENV.fetch('BOX_CLIENT_SECRET')) This is what I then pass to generate the client: client = Boxr::Client.new(token) This creates the client: #"xxxxxxxxxxxxxxxx", "expires_in"=>3782, "restricted_to"=>[], "token_type"=>"bearer"}, _user_id=nil, _id="xxxxxxxxxxxxxxx", _secret="xxxxxxxxxxxx", _id="xxxxxxxxxxxxx", @identifier=nil, _private_key= "-----BEGIN ENCRYPTED PRIVATE KEY-----xxxxxxxxxxxxxx", _private_key_password="xxxxxxxxxxxxxxx", _public_key_id="xxxxxxxxxxxxxx", @refresh_token=nil, _refresh_listener=nil> However, when I try to retrieve a folder by the ID I get an error which I didn't get when I passed the BOX_DEVELOPER_TOKEN to create the client. folder = client.folder_from_id("12345678") Boxr::BoxrError: 404: Not Found from /usr/local/bundle/gems/boxr-1.4.0/lib/boxr/client.rb:239:in `check_response_status' In enterprise settings I gave access to the application by providing the API TOKEN. I'm not sure why I can not get the folder. When I go to the folder ID, the folder is there and in the developer console, I have admin access. Any help?
Please sign in to leave a comment.
Comments
0 comments