docomoの画像認識APIを利用して商品の画像をAPIにリクエストして送信したらその商品情報が返却されるはずなのですが、Content-Typeがうまく設定できていないせいだと思うのですがリクエストでエラーが出てしまいJSONデータが返却されず困っています
誰かphpに詳しい方よろしければ解決方法を教えていただけますでしょうか。
エラー内容としては
"code":"107","message":"The server encountered an error while reading the query image file. The query image may not be valid. Please check its format."docomoAPIのデベロッパーです
PHP
1<?php 2getDocomo(); 3function getDocomo() { 4// var_dump($image); 5 $url = "https://api.apigw.smt.docomo.ne.jp/imageRecognition/v1/recognize?APIKEY=&recog=food&numOfCandidates=16"; 6 $ch = curl_init(); 7 8 $params = [ 9 CURLOPT_URL => $url, 10 CURLOPT_RETURNTRANSFER => true, 11 CURLOPT_POST => true, 12 CURLOPT_SSL_VERIFYPEER =>false, 13 CURLOPT_HTTPHEADER => [ 14 "Content-Type" => "application/octet-stream", 15 ], 16 CURLOPT_POSTFIELDS => [ 17 'image' => new CURLFile('C:/xampp7/htdocs/imagematch/image/20180625094226.jpeg') 18 // 'image' => new CURLFile("{$image}"), 19 ], 20 ]; 21 var_dump($params); 22 23 // curl_setopt($ch, CURLOPT_POST, false); 24 // curl_setopt($ch, CURLOPT_POSTFIELDS, new CURLFile("{$image}")); 25 $result = curl_setopt_array($ch, $params); 26 if ($result){ 27 $output = curl_exec($ch); 28 $info = curl_getinfo($ch); 29 $errno = curl_errno($ch); 30 $error = curl_error($ch); 31 if (CURLE_OK !== $errno) { 32 var_dump($errno); 33 var_dump($error); 34 } 35 }else { 36 $output = "パラメータに誤りがあります"; 37 } 38 var_dump($output); 39 return $output; 40 41} 42 43?>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/25 04:55