2013-12-13 48 views
0

我正在使用box apis創建企業用戶和組。我無法通過curl或通過java代碼創建用戶/組,因爲請求導致Forbidden錯誤(403)。請注意,身份驗證令牌已使用可在Box管理控制檯中創建用戶/組的企業管理員憑據創建。創建用戶/組使用捲曲不工作

以下是捲曲命令及其響應: -

捲曲--insecure https://api.box.com/2.0/groups -H 「授權:承載AUTH-TOKEN」 -H 「內容類型:application/JSON」 -d「{ 「\」 名字 「\」: 「\」 家庭 「\」}」 -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."** 

謝謝 Alevi

+1

您的應用程序具有管理範圍是否已開啓?您可能需要打開它,然後通過OAuth2重新進行身份驗證 – Peter

+0

您的應用程序是否啓用了管理範圍的令牌? – Peter

+0

Hello Platform Boxer,對不起,延遲應對。正如你所建議的,我啓用了管理範圍和上面的curl命令!謝謝:)但是,我需要做同樣的編程,我無法通過java json對象執行類似的操作。 Follwing是供您參考的代碼: - –

回答

0

要調用管理用戶的API,必須滿足多個權限要求。 1)您構建的應用程序必須具有「管理企業」範圍(在「OAuth2參數」 中的應用程序管理控制檯中進行設置)2)登錄到您的應用程序的用戶必須具有共同管理員權限 3)必須明確允許共同管理員「管理用戶」

除非您滿足所有這些條件,否則您將無法調用API來添加用戶。
如果你這樣做,它應該是一個簡單的POST ./users與用戶對象的JSON有效載荷。舉例來說,參見http://developers.box.com/docs/#users-create-an-enterprise-user CURL電話

+0

嗨,彼得, 我使用企業管理員的憑據。他沒有比共同管理員更高的特權嗎?是的,api指定的是一個簡單的捲曲,它甚至不起作用。請參考我在curl請求中添加的引號(「{」\「name」\「:」\「family」\「}」)與api示例中建議的引用相比較。儘管如此,我在我的POST中使用java代碼嘗試了一個類似的請求(工作curl請求),所有我導致BAD請求(400)錯誤。請建議。 –

+0

企業管理員基本上和你的超級管理員一樣,所以你有權這樣做。您確定您已將應用程序設置爲在您的應用配置OAuth2設置中擁有「管理企業」範圍嗎? – Peter

+0

請添加'通過OAuth2'重新驗證您的答案。這應該完成以使更改工作。 –

0

我想你可能只是有一個斜槓。

試試這個:

curl https://api.box.com/2.0/groups -H "Authorization: Bearer ACCESS_TOKEN" -d "{\"name\」: \「my group\」}" -X POST 
+0

嗨,彼得,在這個例子中,我使用了反斜槓。是不是隻有一個鍵盤上的反斜槓? –

+0

是的,我相信只有1個反斜槓。也許我讀錯了你的第一篇文章,但我想我試圖剪切和粘貼你的cURL cmd,我不得不將斜線改成反斜槓。你應該也可以擺脫-insecure參數。我們需要https,這可能也會導致問題。 – Peter