Tôi nhận được lỗi API đồ thị # 613 (thông báo: "Calls to mailbox_fql have exceeded the rate of 300 calls per 600 seconds
", nhập: OAuthException
) khi thử nghiệm ứng dụng của mình. Đó là ứng dụng dành cho máy tính để bàn và bản sao duy nhất là bản chạy trên máy của tôi (vì vậy chỉ có một access_token
và một người dùng - tôi).Lỗi: "Cuộc gọi đến mailbox_fql đã vượt quá 300 cuộc gọi mỗi 600 giây"
Tôi truy vấn điểm cuối inbox
sau mỗi 15 giây hoặc lâu hơn. Kết hợp, ứng dụng tạo ra khoảng 12 cuộc gọi API (đến các điểm cuối khác nhau) mỗi phút. Nó liên tục thất bại trên bất kỳ cuộc gọi nào tìm nạp chuỗi thứ 300 (có khoảng 25 luồng trên trang đầu tiên của điểm cuối inbox
và tôi chỉ tìm nạp trang đầu tiên). Tôi không thực hiện bất kỳ cuộc gọi nào với API đồ thị.
Tôi đang phát triển trên Mac OS X 10.7 sử dụng Objective-C. Tôi sử dụng NSURLConnection
để gọi API đồ thị không đồng bộ. Theo như tôi biết, mỗi yêu cầu được xử lý bởi NSURLConnection
chỉ nên đưa ra một yêu cầu đối với API của Facebook.
Thực hiện ở trên, tôi đang gặp khó khăn trong việc tìm ra lý do tại sao tôi nhận được lỗi này. Tôi nghi ngờ rằng đó là do một cuộc gọi đến điểm cuối inbox
(tức là cuộc gọi đến URI https://graph.facebook.com/me/inbox?access_token=...
) được tính là nhiều cuộc gọi đến mailbox_fql
. Đặc biệt, tôi nghĩ rằng một cuộc gọi duy nhất trả về số <n> chủ đề được tính là <n> cuộc gọi chống lại mailbox_fql
. Nếu trường hợp này xảy ra, có cách nào để giảm số lượng cuộc gọi đến mailbox_fql
cho mỗi lệnh gọi API (ví dụ: bằng cách chỉ tìm nạp <n> các chuỗi gần đây nhất trong hộp thư đến chứ không phải toàn bộ trang đầu tiên) không?
Tài liệu có vẻ khá thưa thớt về chủ đề này, vì vậy tôi đã phải qua hầu hết thông qua thử nghiệm và lỗi. Tôi sẽ vui mừng nếu có ai biết cách giải quyết vấn đề này.