2013-01-15 33 views
10

Tôi nghĩ điều này sẽ thẳng về phía trước, nhưng vì một lý do nào đó, tôi sẽ bị tấn công.Truy cập trở lại API của Google không được định cấu hình

Tôi đang sử dụng PHP + CURL để thử và truy xuất danh sách Phông chữ web. Mã này rất đơn giản:

 $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);    

Mã này được đánh Google, nhưng $ google_response luôn trả về:

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

tôi đã thiết lập một phím truy cập máy chủ và đưa cả hai phím API máy chủ web của tôi trên nó. (Để xác minh IP của tôi, tôi đã thực hiện một WGET trên curlmyip.com) Tôi cũng đã bật "API nhà phát triển phông chữ web" từ tab Dịch vụ.

Có điều gì tôi có thể xem được không?

Trả lời

16

Tôi đã tìm thấy giải pháp. Rõ ràng tôi cần đăng ký địa chỉ IPv6 của máy chủ, không phải địa chỉ IPv4 của máy chủ. Làm việc mà không có bất kỳ thay đổi mã nào sau khi thêm chúng.

+0

Hey Anthony. nơi nào nên làm điều đó cấu hình? –

+6

@KiranRuthR Thật đáng ngạc nhiên là ẩn. Truy cập https://code.google.com/apis/console. Trước tiên, hãy đảm bảo dịch vụ bạn muốn được bật trong "Dịch vụ". Sau đó, hãy truy cập "Truy cập API" và chỉ định miền hoặc địa chỉ IP gọi điện của bạn. – Anthony

+0

@Anthony: Ngay cả khi tôi đang gặp phải vấn đề tương tự khi sử dụng localhost của tôi. Tôi có nên thêm IPv6 của localhost của mình không? –

3

loại bỏ tất cả "cho phép Ips", sau đó Bất kỳ IP cho phép

+0

Brayon, Giải thích cách bạn đã định cấu hình cho phép Ips? –

+0

Cảm ơn bạn. Có, xóa tất cả IP được phép đã hoạt động cho khóa máy chủ "Truy cập API công khai" của tôi. Nó không hoạt động ngay lập tức (thử nghiệm với cli curl), vì vậy tôi đã tạo lại khóa. Cái mới làm việc ngay lập tức, nhưng một vài phút sau bản gốc cũng hoạt động. – dbenton

8

Trong trường hợp của tôi API cần thiết đã không được kích hoạt.

Để kích hoạt:

  1. Đến https://console.developers.google.com
  2. Nhấp vào biểu tượng menu ở phía trên bên trái
  3. Bấm API Manager từ menu
  4. Tìm kiếm API của bạn vào thanh tìm kiếm (ví dụ như dữ liệu của YouTube API v3) và nhấp vào nó
  5. Khi ở trên trang con cho API đó, hãy nhấp vào Bật ở trên cùng bên trái
Các vấn đề liên quan