Перейти до змісту

Допоможіть з кодом PHP (Парсинг картинок з Google API)


Doctor

Рекомендовані повідомлення

Допоможіть з кодом будь-ласка
видає помилку:
Warning: file_get_contents(https://www.googleapis.com/customsearch/v1?.......searchType=image&imgSize=xlarge&alt=json&num=1&start=1) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in Z:\home...\ttt.php on line 19
none.jpg
Недавно Google переробив API, почав перероблювати під новий варіант, і не можу дійти толку. Дякую
Ось текст коду PHP:

<?php
$zapros =  $_GET['zapros'];
$cx='мій ідентифікатор';
$api_key='мій ключ';
$search = iconv("WINDOWS-1251", "UTF-8", $zapros);
$json = file_get_contents('https://www.googleapis.com/customsearch/v1?key='.$api_key.'&cx='.$cx.'&q='.$zapros.'&searchType=image&imgSize=xlarge&alt=json&num=1&start=1');
$data = json_decode($json);
if ($data->responseData->results[0]->unescapedUrl != '')
$url = $data->responseData->results[0]->unescapedUrl;
else
$url = 'none.jpg';
//echo '<p><img src="'.$url.'" alt="" title=""></p>'; 
echo $url;
echo $json;

 

Посилання на коментар
Поділитись на інші сайти

А через curl отримувати json дані з гугл АПІ не варіант?

Я не стикався, але треба читати опис нового API (документалку) і відповідно до того міняти скрипт

Приклад на CURL:
 

$ch = curl_init( $json_url );
$options = array(
      CURLOPT_RETURNTRANSFER  => true,
      CURLOPT_HTTPHEADER      => array('Content-type: application/json') ,
);
curl_setopt_array( $ch, $options );

$data =  curl_exec($ch);
$data = json_decode($data);

 

Посилання на коментар
Поділитись на інші сайти

23 минуты назад, legolas_soi сказал:

А через curl отримувати json дані з гугл АПІ не варіант?

Я не стикався, але треба читати опис нового API (документалку) і відповідно до того міняти скрипт

Приклад на CURL:
 


$ch = curl_init( $json_url );
$options = array(
      CURLOPT_RETURNTRANSFER  => true,
      CURLOPT_HTTPHEADER      => array('Content-type: application/json') ,
);
curl_setopt_array( $ch, $options );

$data =  curl_exec($ch);
$data = json_decode($data);

 

Щось не канає :(

Посилання на коментар
Поділитись на інші сайти

php errors увімкнути.

задампити сюди, що каже. А також curl error задампити і теж сюди.

Посилання на коментар
Поділитись на інші сайти

ip хостинга може забанили

попробуйте на другому

також це не помiшало б

curl_setopt($ch, CURLOPT_HEADER, 1);

Посилання на коментар
Поділитись на інші сайти

Заархівовано

Ця тема знаходиться в архіві та закрита для подальших відповідей.



×
×
  • Створити...