У меня есть скрипт сокращения URL, который работал хорошо, пока я не добавил ссылки на веб-сайт в ограничение KEY в консоли API (что я должен был сделать). Теперь я не возвращаю короткий URL. Я получаю следующую ошибку:
Массив ([ошибка] => Массив ([ошибки] => Массив ([0] => Массив ([домен])
=> useLimits [reason] => ipRefererBlocked [message] => В запросе не указан ни один реферер. Пожалуйста, убедитесь, что клиент отправляет
реферер или используйте консоль 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'];
?>
Что мне здесь не хватает? Заранее благодарны за Вашу помощь.
Попробуйте добавить эту строку
curl_setopt($curl, CURLOPT_HEADER, 0);
// should add this line
curl_setopt($ch, CURLOPT_REFERER, '[your restriction domain]');
Других решений пока нет …