2017-08-03 38 views
0

我試圖創建一個使用PHP框應用用戶。爲創建用戶,如下所示,它正在終端捲曲郵政捲曲與標題中的數據並不在PHP工作?

curl https://api.box.com/2.0/users \ 
-H "Authorization: Bearer <Access token>" \ 
-d '{"name": "New User", "is_platform_access_only": true}' \ 
-X POST 

同樣的事情,我試圖用PHP,但它給了以下錯誤

{"type":"error","status":400,"code":"invalid_request_parameters","help_url":"http:\/\/developers.box.com\/docs\/#errors","message":"Invalid input parameters in request","request_id":"6688622675982fb5339a37"} 

下一個我試圖

$developer_token = "TOKEN" ; 
$access_token_url = "https://api.box.com/2.0/users"; 

$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL, $access_token_url); 

//Adding Parameters 
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
    'name'=>'NEW USER', 
    'is_platform_access_only'=>'true', 
    )); 

//Adding Header 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Bearer '.$developer_token 
    )); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

$response1 = curl_exec($ch); 

如果我刪除了Post參數,並且只用標題運行,它會給出用戶的結果。但是在發佈後它會拋出錯誤。

回答

0

我也上升了同樣的問題在Perl tag與Perl代碼。我在那裏得到了用戶@melpomene的回覆。

我們應該對數據進行編碼的JSON。它正在工作, 然後最後的代碼是

$data = array(name=>SOMENAME,is_platform_access_only=>true); 
$data = json_encode($data); 
$header = array("Authorization: Bearer <TOKEN>"); 
$ch = curl_init("https://api.box.com/2.0/users/"); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch,CURLOPT_POSTFIELDS,$data); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$response1 = curl_exec($ch); 
curl_close($ch);