2013-07-02 36 views
6

Tôi đang sử dụng Python/Twisted để thực hiện cuộc gọi HTTP không đồng bộ với API Google+. ứng dụng của khách hàng đi qua access_token của người dùng và chúng tôi làm một cuộc gọi API để ...Khóa API Google Simple ngừng hoạt động

https://www.googleapis.com/plus/v1/people/me/?%s&key=%s& 

... nơi% s và% s đang được làm đầy với một access_token hợp lệ và (được cho là) ​​hợp lệ API chính đơn giản, tương ứng.

Mọi thứ hoạt động tốt đẹp ngày hôm qua. Hôm nay tôi tiếp tục làm việc trên các bài kiểm tra đơn vị cho điều này khi API đột nhiên bắt đầu quay trở lại:

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "usageLimits", 
    "reason": "keyInvalid", 
    "message": "Bad Request" 
    } 
    ], 
    "code": 400, 
    "message": "Bad Request" 
} 
} 

usageLimits, keyInvalid ... OK, tôi hiểu rồi. Tôi dường như đã đạt đến giới hạn sử dụng và họ đã vô hiệu hóa các khóa API đến từ tài khoản này. Ngoại trừ, tôi chưa ...

"Giới hạn lịch sự" được cho là "10.000 yêu cầu/ngày", nhưng tôi chỉ thực hiện một vài trăm cuộc gọi (theo biểu đồ sử dụng riêng của Google) và tôi vẫn thấy "0% được sử dụng" trên tab hạn ngạch.

Tôi đã mang điều này đến Google trực tiếp, nhưng có vẻ như họ đã bỏ Nhóm phát triển Google của mình để ủng hộ một cuộc thảo luận trên Google+ không thực sự nhận được bất kỳ phản hồi nào.

Bất kỳ trợ giúp hoặc hướng dẫn nào đều được đánh giá cao. Cảm ơn!

Trả lời

5

Câu trả lời khá đơn giản! Bạn không thể gửi cả access_token và khóa trong cùng một cuộc gọi API. Nếu bạn sử dụng access_token, bạn đang xác thực cuộc gọi API với tư cách là người dùng, nếu bạn sử dụng dự án Simple API Key, bạn đang xác thực là chính mình. Nếu bạn sử dụng cả hai, cuộc gọi không thành công.

+0

Bạn có thể gửi báo cáo lỗi về điều đó tại đây không: https://code.google.com/p/google-plus-platform/issues/list – ade

+2

[Vấn đề # 604] (https://code.google.com/p/google-plus-platform/issues/detail? id = 604) –

8

Để chúng tôi rõ ràng, bạn đang sử dụng khóa của mình từ trang Google API Console? Trên đó, bạn sẽ thấy tab "Truy cập API" ở gần góc trên cùng bên trái của trang. Đảm bảo rằng Khóa API bạn đang sử dụng là Khóa Key for browser apps (with referers) của bạn, nếu không, Khóa API sẽ không hoạt động.

Dù sao đi nữa, một cuộc gọi API cho tôi trông như thế này:

https://www.googleapis.com/plus/v1/people/114789529333378876576?key=ENTER_YOUR_KEY_HERE

Bạn sẽ có thể để làm cho ít nhất một API Gọi mỗi ngày mà không có một chính hợp lệ.

+0

Cảm ơn bạn đã chỉ cho tôi đúng hướng! –

1

này đã cho tôi một thời gian khá dài để tìm ra, vì vậy hy vọng sẽ tiết kiệm thời gian cho người khác :)

Hãy xem thi Spost, bởi đội ngũ nhân viên google (vào năm 2012 ..) https://groups.google.com/forum/#!topic/google-ajax-search-api/HuKhXfsoMQc

Xin lỗi vì phản hồi bị trì hoãn. Lỗi này (chúng tôi đang làm việc để cải thiện tính mô tả) cũng xảy ra khi bạn có giới hạn trên khóa của mình (ví dụ: bị khóa cho một người giới thiệu cụ thể hoặc địa chỉ IP ). Vui lòng xác nhận rằng nếu bạn đã đặt một hạn chế như vậy trong Bảng điều khiển API , thì người giới thiệu hoặc địa chỉ IP mà bạn đang thực hiện yêu cầu từ đó. Đặc biệt chú ý đến bất kỳ ký tự đại diện nào được sử dụng trên tham chiếu - ví dụ: nếu bạn sử dụng * .abc.com, nó sẽ không hoạt động nếu yêu cầu của bạn xuất phát từ "yoururl".

cũng sẽ tuyệt vời nếu nhóm google khắc phục sự cố này!:)

0

Trong trường hợp của tôi, tôi đã có thông số có tên là Khóa, vì vậy, nó được cho là một khóa thực, chỉ cần đổi tên tham số.

0

Trong trường hợp của tôi - tôi chỉ phải đợi vài phút vì đó là thời gian ngắn sau khi cập nhật KEY API của tôi. Bất cứ khi nào bạn tạo khóa mới hoặc cập nhật khóa đó trên bảng điều khiển dành cho nhà phát triển YT. YT có tối đa 15 phút để thực hiện tất cả các thay đổi ở bên cạnh của chúng

Các vấn đề liên quan