2013-01-15 17 views
10

Ich dachte, das wäre unkompliziert, aber aus irgendeinem Grund werde ich auf diesen einhämmern.Google API gibt Zugriff nicht konfiguriert zurück

Ich benutze PHP + CURL, um eine Liste von Webfonts zu versuchen und abzurufen. Der Code ist einfach:

 $url = "https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity&key=MY_SERVER_APPS_KEY"; 

     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
     curl_setopt($ch, CURLOPT_HEADER, false); 
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
     $google_response = curl_exec($ch); 
     curl_close($ch);    

Der Code Google trifft, aber $ google_response immer wieder:

"error": { 
    "code": 403, 
    "errors": [ 
     { 
      "domain": "usageLimits", 
      "reason": "accessNotConfigured", 
      "message": "Access Not Configured" 
     } 
    ], 
    "message": "Access Not Configured" 
} 

Ich habe einen Server Zugriffsschlüssel einzurichten und setzen beide meiner Web-Servers API-Schlüssel auf es. (Um meine IP zu überprüfen, habe ich ein WGET auf curlmyip.com gemacht) Ich habe auch die "Web Fonts Developer API" auf der Registerkarte Dienste aktiviert.

Gibt es etwas, was ich übersehen könnte?

Antwort

16

Ich fand die Lösung. Anscheinend musste ich die IPv6 Adresse meines Servers, nicht die IPv4s registrieren. Wurde nach dem Hinzufügen ohne Codeänderungen ausgeführt.

+0

Hey Anthony. Wo sollte man diese Konfiguration machen? –

+6

@KiranRuthR Es ist überraschend versteckt. Besuchen Sie https://code.google.com/apis/console. Stellen Sie zunächst sicher, dass der gewünschte Dienst unter "Dienste" aktiviert ist. Gehen Sie dann zu "API Access" und geben Sie Ihre anrufenden Domains oder IP-Adressen an. – Anthony

+0

@Anthony: Auch ich habe das gleiche Problem mit meinem localhost. Sollte ich IPv6 von meinem localhost hinzufügen? –

3

Alle entfernen "erlaubt Ips", dann erlaubt Jede IP

+0

Brayon, erklären, wie Sie Ips konfigurierten? –

+0

Danke. Ja, das Entfernen aller erlaubten IPs funktionierte für meinen Serverschlüssel "Public API access". Es hat nicht sofort funktioniert (Testen mit Cli-Curl), also habe ich den Schlüssel neu generiert. Das neue funktionierte sofort, aber ein paar Minuten später funktionierte das Original auch. – dbenton

8

In meinem Fall die benötigte API nicht aktiviert war.

aktivieren:

  1. Zum https://console.developers.google.com
  2. das Menü-Symbol oben klicken links
  3. Klicken Sie API Manager aus dem Menü
  4. Suchen Sie Ihren API in der Suchleiste (zB YouTube-Daten API v3) und klicken Sie darauf
  5. Einmal auf der Unterseite für diese API, klicken Sie Enable in der oberen linken Ecke
Verwandte Themen