создать пользователя/группу, не работающую с помощью curl

Я работаю над использованием box api для создания корпоративного пользователя и группы. Я не могу создать пользователя/группу с помощью curl или кода Java, так как запрос приводит к ошибке Forbidden (403). Обратите внимание, что токен авторизации был создан с использованием учетных данных администратора предприятия, которые могут создать пользователя/группу в консоли администратора Box.

Ниже приведена команда curl и ее ответ:

curl --insecure https://api.box.com/2.0/groups -H "Авторизация : Bearer AUTH-TOKEN" -H "Content-type: application/json" -d "{"\"name"\": "\"family"\"}" -X POST -v

ОТКЛИК :-

> POST /2.0/groups HTTP/1.1
> User-Agent: curl/7.27.0
> Host: api.box.com
> Accept: */*
> Authorization: Bearer <AUTH-TOKEN>
> Content-Length: 18
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 18 out of 18 bytes
< HTTP/1.1 403 Forbidden
< S erver: nginx
< Date: Fri, 13 Dec 2013 13:04:52 GMT
< Content-Length: 0
< Connection: keep-alive
< WWW-Authenticate: Bearer realm="Service", error="insufficient_scope", error_description="**The request requires higher privileges than provided by the access token."**

Спасибо, Алеви


person alevi.dcosta    schedule 13.12.2013    source источник
comment
В вашем приложении включена административная область? Возможно, вам придется включить его, а затем повторно аутентифицировать себя через OAuth2.   -  person Peter    schedule 17.12.2013
comment
Включено ли ваше приложение для токенов с правами администратора?   -  person Peter    schedule 08.01.2014
comment
Здравствуйте, Platform Boxer, извините за задержку с ответом. Как вы предложили, я включил административную область, и приведенная выше команда curl сработала !!!! Спасибо :) Однако мне нужно сделать то же самое программно, и я не могу выполнить подобное действие через объект java json. Ниже приведен код для справки: -   -  person alevi.dcosta    schedule 08.01.2014
comment
JSONObject jobj = новый JSONObject(); jobj.put(\имя\,\abcdef1\); Использование вышеуказанного jsonobject и передача его в HttpUrlConnection теперь дает ошибку неправильного запроса.   -  person alevi.dcosta    schedule 08.01.2014
comment
Вы пытаетесь создать новую учетную запись в Box? Или вы просто пытаетесь взять одного из пользователей на вашем предприятии и повысить его статус до соадминистратора?   -  person Peter    schedule 09.01.2014
comment
Попытка создать нового корпоративного пользователя коробки   -  person alevi.dcosta    schedule 09.01.2014


Ответы (2)


Для вызова API, которые управляют пользователями, необходимо выполнить несколько требований к разрешениям.

1) Приложение, которое вы создаете, должно иметь область действия «Управление предприятием» (настройте это в консоли управления приложениями в «Параметры OAuth2» 2) Пользователь, входящий в ваше приложение, должен иметь права совместного администратора 3) Со- администратору должно быть специально разрешено «управлять пользователями»

Если вы не соответствуете всем этим критериям, вы не сможете вызвать API для добавления пользователя.
Если вы это сделаете, это должен быть простой POST для ./users с полезной нагрузкой json с объектом пользователя. См. http://developers.box.com/docs/#users-create-an-enterprise-user для примера вызова CURL

person Peter    schedule 10.01.2014
comment
Привет, Питер, я использую учетные данные администратора предприятия. У него нет привилегий выше соадмина? Да, то, что указал API, — это простой завиток, который даже не работает. Пожалуйста, обратитесь к дополнительным кавычкам, которые я поставил в своем запросе на завивание ( {\name\: \family\} ) по сравнению с предложенным в примере API. Несмотря на то, что я пробовал аналогичный запрос (рабочий запрос curl) в своем POST с использованием кода Java, все это приводит к ошибке BAD Request (400). Пожалуйста, предложите. - person alevi.dcosta; 13.01.2014
comment
Администратор предприятия в основном похож на вашего суперадминистратора, поэтому у вас будет разрешение на это. Вы уверены, что настроили свое приложение для управления корпоративной областью в настройках OAuth2 конфигурации приложения? - person Peter; 30.01.2014
comment
Пожалуйста, добавьте re-authenticate yourself through OAuth2 к ответу. Это нужно сделать, чтобы изменения заработали. - person Cerlin; 13.02.2017

Я думаю, что у вас может быть просто неправильная косая черта.

Попробуй это:

curl https://api.box.com/2.0/groups -H "Authorization: Bearer ACCESS_TOKEN" -d "{\"name\”: \“my group\”}" -X POST
person Peter    schedule 16.01.2014
comment
Привет Питер, В примере я использовал обратную косую черту. На клавиатуре только одна обратная косая черта? - person alevi.dcosta; 24.01.2014
comment
Да, я считаю, что есть только 1 обратная косая черта. Возможно, я неправильно прочитал ваш первоначальный пост, но я подумал, что пытался вырезать и вставить ваш cURL cmd, и мне пришлось заменить косую черту на обратную косую черту. вам, вероятно, также следует избавиться от параметра -insecure. Нам требуется https, так что это также может вызывать проблемы. - person Peter; 24.01.2014