2017-08-03 5 views
0

私はPHPを使用してボックスアプリのユーザーを作成しようとしています。次のようにユーザーを作成し、それは私がPHPで試してみました。しかし、それは次のようなエラーcurlのヘッダーでデータをポストしても、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"} 

私は

を試してみました、次のいずれかを与えている端末

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

同じことに取り組んでいるためにカール

$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); 

投稿パラメータを削除し、ヘッダーのみで実行すると、ユーザーの結果が得られます。しかしポストでは、それはエラーをスローします。

答えて

0

PerlコードでPerl tagに同じ質問が起きました。そこに私はユーザー@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); 
です
関連する問題