2013-07-21 67 views
16

Sử dụng api của trình rút gọn url của google, nó hoạt động tốt cho đến khi tôi bắt đầu thử nghiệm khi tải. Nhanh chóng bắt đầu nhận lại 403 Tỷ lệ giới hạn Vượt quá lỗi từ Google, mặc dù tôi đã đăng ký sử dụng API và nó đi kèm với 1.000.000 lượt truy cập mỗi ngày. Tôi có thể thấy các yêu cầu đến trên công cụ báo cáo của Google và họ chỉ gửi lại 403 cho mọi thứ. 403 bắt đầu quay lại với khoảng 345/350 lượt truy cập vào API, đã được tiếp tục hàng giờ.Google URL Shortener 403 Giới hạn tỷ lệ vượt quá

Suy nghĩ?

+0

Bạn có đang thực hiện tất cả các yêu cầu từ cùng một số IP không? –

Trả lời

-5

Bạn cần phải đi đến phần mở rộng shortener google, và trong tùy chọn chọn 'Grant Access'

+2

Câu hỏi này không hỏi về phần mở rộng google chrome, nhưng có liên quan đến việc tiêu thụ dịch vụ thông qua API và chạy vào giới hạn tốc độ. – timbrown

7

Các giới hạn API yêu cầu tới 1 request/mỗi giây/mỗi người dùng.

Người dùng được định nghĩa là địa chỉ IP duy nhất.

Vì vậy, nếu bạn đang thực hiện thử nghiệm tải của mình từ một IP đơn lẻ, điều này có thể gây ra vấn đề giới hạn tốc độ của bạn.

https://developers.google.com/analytics/devguides/reporting/mcf/v3/limits-quotas#general_api

+0

Tài liệu này có ở đâu đó không? Tôi dường như không thể tìm thấy bất kỳ thông tin nào vượt quá giới hạn 1.000.000 lần/ngày. Tôi gặp sự cố này khi mọi người nhấn API của tôi với nhiều yêu cầu dường như vượt quá giới hạn '1 yêu cầu/mỗi giây/mỗi người dùng ' – timbrown

+2

https://developers.google.com/analytics/devguides/reporting/ mcf/v3/limits-quotas # general_api – Chausser

+0

Cảm ơn vì điều này. Có vẻ như bạn có thể thay đổi giá báo giá lên đến ~ PER USER LIMIT 1 yêu cầu/giây/người dùng ~ nhưng khi cố lưu nó, hãy báo lỗi 500. Tôi có thiếu thứ gì đó để có thể tăng điều này lên 10/giây/người dùng không? – timbrown

-8

Nhấp chuột phải vào biểu tượng mở rộng, vào Options và nhấp Grant Access ở phía dưới.

1

Tôi không nghĩ "1 yêu cầu/giây/người dùng". như được viết trong tài liệu là chính xác 100% trong trường hợp của tôi hoặc trường hợp rút ngắn url của google. (FYI: Tôi đang sử dụng "Truy cập API công khai", không phải "OAuth")

Tôi có cùng một vấn đề nhưng, đối với tôi, có nhiều khả năng là "Tôi gặp lỗi này đối với một số URL trong một khoảng thời gian lần. " Nó có nghĩa là gì? Vui lòng tiếp tục đọc.

Đây là những gì tôi thấy:

  • tôi có thể sử dụng 10 chủ đề để sử dụng google url shortener cùng một lúc, nhưng không phải lúc nào ...
  • khi chế biến, thậm chí một url được thất bại trên một chủ đề, các chủ đề khác vẫn có thể nhận được các url khác.
  • khi url bị lỗi và sau đó tôi đã thử lại cùng một url (ngay cả khi không có quy trình nào khác chạy, nó vẫn không hoạt động trong một số khoảng thời gian. Thậm chí, tôi đã cố thêm chuỗi khác như "& test = 1" , nó không giúp đỡ. Nhưng nếu tôi thay đổi để url khác, nó hoạt động.

vì vậy, tôi đoán rằng máy chủ của google có thể có bộ nhớ cache của từng url. Nếu url là thất bại, nó phải chờ một . trong khi để cho bộ nhớ cache phát hành

Vì vậy, tôi phải viết một số mã đáng sợ như thế này để giải quyết vấn đề của tôi:

  • khi có được một thất bại, mà chủ đề cụ thể sẽ ngủ trong 1 phút (có 1 phút)
  • và tiếp tục cố gắng cho 10 lần (vì vậy hoàn toàn, nó có thể là 10 phút cho một thất bại url)

Tuy nhiên, mã đáng sợ này là tốt cho trường hợp của tôi bởi vì tôi đang sử dụng ExecutorService với kích thước hồ bơi cố định-thread của 10. Vì vậy, nếu có một thất bại, những người khác vẫn có thể nhận được rút ngắn url. Nó giải quyết vấn đề ... ít nhất là đối với tôi.

+0

vì bạn đang sử dụng đa luồng có thể duy trì 1 yêu cầu/giây/người dùng. vì sẽ có nhiều yêu cầu đồng thời xảy ra –

+0

@ManojRamanan, không tôi không duy trì nó. Lời giải thích của tôi đã cố gắng cho bạn biết rằng bạn có thể sử dụng nhiều hơn 1 yêu cầu/mỗi giây/mỗi người dùng. –

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