Не удается получить папку по идентификатору при использовании Boxr JWT get_user_token - Box API - PullRequest
0 голосов
/ 05 октября 2018

Я не могу открыть папку, предоставив идентификатор для этой папки, используя Boxr gem.Ранее у меня не было настроек enterprise, как показано в этом посте , которые я сейчас исправил.Я создаю токен, используя метод аутентификации JWT get_user_token, следующим образом.

token = Boxr::get_user_token("38521XXXX", 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'), client_id: ENV.fetch('BOX_CLIENT_ID'), client_secret: ENV.fetch('BOX_CLIENT_SECRET'))

Затем я передаю этот токен при создании клиента.

client = Boxr::Client.new(token)

, когда я проверяю текущего пользователя на клиенте, вот что я получаю:

client.current_user
=> {"type"=>"user",
 "id"=>"60853XXXX",
 "name"=>"OnlineAppsPoC",
 "login"=>"AutomationUser_629741_06JgxiPtPj@boxdevedition.com",
 "created_at"=>"2018-10-04T08:41:32-07:00",
 "modified_at"=>"2018-10-04T08:41:50-07:00",
 "language"=>"en",
 "timezone"=>"America/Los_Angeles",
 "space_amount"=>10737418240,
 "space_used"=>0,
 "max_upload_size"=>2147483648,
 "status"=>"active",
 "job_title"=>"",
 "phone"=>"",
 "address"=>"",
 "avatar_url"=>"https://app.box.com/api/avatar/large/6085300897"}

Когда я запускаю client.methods, я вижу, что folder_from_id, однако, когда я звоню,метод я получаю следующую ошибку:

pry(#<FormsController>)> client.folder_from_id("123456", fields: [])
Boxr::BoxrError: 404: Not Found
from /usr/local/bundle/gems/boxr-1.4.0/lib/boxr/client.rb:239:in `check_response_status'

У меня есть следующие настройки: enter image description here

enter image description here

Я также авторизую приложение.Не уверен, что еще делать.

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Для всех, кто использует C # и BOXJWT.

Вам просто нужно настроить boxManager и получить все, что вам нужно, например, BoxFile, Папка и т. Д.

Если у вас естьfolderID, хорошо и хорошо, но если вам нужно извлечь, это можно сделать, как показано ниже:

string inputFolderId = _boxManager.GetFolder(RootFolderID).Folders.Where(i => i.Name == boxFolder).FirstOrDefault().Id;  //Retrieves FolderId
Folder inputFolder = _boxManager.GetFolder(inputFolderId);
0 голосов
/ 11 октября 2018
 token = Boxr::get_user_token(user_id,
                        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'),
                        client_id: ENV.fetch('BOX_CLIENT_ID'),
                        client_secret: ENV.fetch('BOX_CLIENT_SECRET'))

client = Boxr::Client.new(token.access_token)
folder = client.folder_from_id(folder_id)
client.upload_file(file_path, folder)
...