-1
は別に、追加の情報を返す私は現在、カール使用してPHPでgifs.comのAPIを使用していますが、私が得る応答は、純粋なJSONPHP、curl_execレスポンスJSON
次のコードは、私がcurl_exec()
から取得応答ではなく、
HTTP/1.1 200 OK Server: nginx Date: Thu, 02 Nov 2017 16:34:48 GMT Content-
Type: application/json Content-Length: 472 Access-Control-Allow-Credentials:
false Access-Control-Allow-Headers: Origin, Accept,Content-Type,Gifs-API-Key
Access-Control-Allow-Methods: GET,POST,OPTIONS Access-Control-Allow-Origin:
* Access-Control-Max-Age: 43200 Request-Id: 942c0be8-0613-4c43-8fc0-
fbedf62e7008 Via: 1.1 google Alt-Svc: clear
{ "success":
{ "page": "https://gifs.com/gif/9QQDvZ",
"oembed": "https://gifs.com/oembed/9QQDvZ",
"embed": "<iframe src='https://gifs.com/embed/9QQDvZ' frameborder='0' scrolling='no' width='377' height='377' style='-webkit-backface-visibility: hidden;-webkit-transform: scale(1);' ></iframe>",
"files": {
"gif": "https://j.gifs.com/9QQDvZ.gif",
"jpg": "https://j.gifs.com/9QQDvZ.jpg",
"mp4": "https://j.gifs.com/9QQDvZ.mp4" }
}
}
json_decode()
私は応答にそれを使用する、と私は余分な文字を削除するためにsubstr()
を試みたが、文字の量が変化していきますので、それは一貫していないならば、単にnullを返します
CURLOPT_HEADER => true,
を出力にHTTPヘッダを含めるようにcurl
を伝えること:EDIT以下
は、あなたが使用しているためにですカール設定
$url = 'https://api.gifs.com/media/import';
$headers = array("Gifs-API-Key: willnotbedisplayed", "Content-Type: application/json"); // cURL headers for file uploading
$postfields = "{\n \"source\": \"willnotbedisplayed\",\n \"title\": \"guineapig\",\n \"tags\": [\"crazy\", \"hand drawn\", \"2015\", \"art\"],\n \"attribution\": {\n \"site\": \"vine\",\n \"user\": \"someone\"\n }\n}";
$ch = curl_init();
$options = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => true,
CURLOPT_POST => 1,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $postfields,
CURLOPT_RETURNTRANSFER => true
); // cURL options
curl_setopt_array($ch, $options);
$server_output = curl_exec($ch);
カールの設定を追加できますか?例: 'curl_setopt($ handle、CURLOPT_RETURNTRANSFER、true)'を追加しましたか? –
@TVproductions今設定を追加しました – scyclint