Google URLShortener API retourne ipRefererBlocked
Je suis en train d'utiliser le raccourcisseur d'URL de Google API PHP:
$apiKey = 'ABC';
$url = 'http://www.stackoverflow.com/';
$postData = array('longUrl' => $url);
$jsonData = json_encode($postData);
$curlObj = curl_init();
curl_setopt($curlObj, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url?key=' . $apiKey);
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curlObj, CURLOPT_HEADER, 0);
curl_setopt($curlObj, CURLOPT_HTTPHEADER, array("Content-Type: application/json; charset=utf-8","Accept:application/json, text/javascript, */*; q=0.01"));
curl_setopt($curlObj, CURLOPT_POST, 1);
curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData);
$result = curl_exec($curlObj);
Mais je reçois le message d'erreur suivant:
{
"error": {
"errors": [{
"domain": "usageLimits",
"reason": "ipRefererBlocked",
"message": "There is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your API key configuration if request from this IP or referer should be allowed.",
"extendedHelp": "https://console.developers.google.com"
}],
"code": 403,
"message": "There is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your API key configuration if request from this IP or referer should be allowed."
}
J'ai vérifié les éléments suivants:
- Que les référents sont fixés (http et https)
- Que l'API console enregistre toutes les demandes, mais, malheureusement, en tant que client "erreurs" et pas comme "succès"
Le script est déclenchée chaque fois qu'un utilisateur visite la page.
J'apprécie vraiment tout astuce qui me permet de passé ce problème ennuyeux. Je ne semble pas trouver toute solution "là-bas".
Merci pour votre commentaire. Ouais, je sais. Le problème est que j'ai déjà enregistré la propriété intellectuelle de faire l'appel et toujours cette erreur.
OriginalL'auteur Shubbi | 2015-03-18
Vous devez vous connecter pour publier un commentaire.
C'est un des paramètres de l'application question dans le Les Développeurs De Google Console. Sur les pouvoirs de l'écran il répertorie les adresses ip qui sont autorisées à utiliser la Clé API. C'est une précaution de sécurité pour aider à protéger la touche si il ya des fuites.
Vous avez besoin de modifier permis IPs à être vide (moins sûr) ou de mettre à jour pour inclure l'adresse IP actuelle de votre serveur.
Vous êtes à l'aide de PHP qui est côté serveur donc c'est l'IP de serveurs.
Eh bien, cela pourrait être l'un des plus moments maladroits jamais. J'ai enregistré notre serveur MySql est le numéro IP et pas de notre serveur web. Désolé de prendre votre temps et merci pour votre aide.
Pas de problème. Ces erreurs se produisent aux meilleurs d'entre nous.
OriginalL'auteur abraham
Je vais juste ajouter à ce que j'ai eu un problème similaire lors de l'utilisation d'une API de Google à partir d'un Rackspace cloud server. Si les adresses IP sont ajoutées, alors il sera toujours bloqué (vérifié plusieurs fois pour s'assurer qu'elle était la bonne IP, y compris en faisant des demandes de serveur pour une page qui a rapporté l'adresse IP à distance). Donc, à partir de Rackspace cloud hôtes, j'ai de permettre à tout IP. Si je suis d'hébergement n'importe où d'autre, alors les restrictions IP fonctionnent comme prévu.
De même pour Contabo VPS
OriginalL'auteur user1692511