Google URL Shortener — не указан реферер HTTP

У меня есть скрипт сокращения URL-адресов, который работал хорошо, пока я не добавил рефереры веб-сайтов в ограничение KEY в консоли API (что мне и пришлось сделать). Теперь я не возвращаю короткий URL. Я получаю следующую ошибку:

Массив ( [ошибка] => Массив ( [ошибки] => Массив ( [0] => Массив ( [домен] => UsageLimits [причина] => ipRefererBlocked [сообщение] => В запросе не указан реферер. Убедитесь, что что клиент отправляет реферер, или используйте консоль API для снятия ограничений реферера. [extendedHelp] => https://console.developers.google.com/apis/credentials?project=XXXXXXXXX )) [code] => 403 [message] => В запросе не указан реферер. Убедитесь, что клиент отправляет реферера или использует консоль API для снятия ограничений реферера. ))

Мой PHP:

<?php

$longurl = "http://example.com";

$api_key_google = "XXXX_API_KEY_XXXXX";
$curl = curl_init('https://www.googleapis.com/urlshortener/v1/url?key='.$api_key_google);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(array('longUrl' => $longurl)));
$return = json_decode(curl_exec($curl), true);
curl_close($curl);

print_r($return);       
echo $shortDWName = $return['id'];

?>

Что мне здесь не хватает? Заранее благодарны за Вашу помощь.


person Nita    schedule 27.10.2016    source источник


Ответы (1)


Попробуйте добавить эту строку

curl_setopt($curl, CURLOPT_HEADER, 0);
// should add this line
curl_setopt($ch, CURLOPT_REFERER, '[your restriction domain]');
person Thanh TRAN CONG    schedule 27.10.2016