2015-07-21 21 views
12

Có nhiều câu hỏi tương tự, nhưng tôi không thể tìm thấy bất kỳ câu trả lời hữu ích nào. Tôi đã tạo ứng dụng Facebook và sẽ tìm nạp dữ liệu Trang/Đăng từ Facebook thay mặt cho ứng dụng đó. - Tôi có quyền read_insights đặc biệt trên Trang. - Tôi đã tạo mã thông báo truy cập với quyền đó cho Ứng dụng Facebook của tôi. (sẽ tự động được mở rộng). Hôm nay tôi phải đối mặt với vấn đề với nhận lỗi thoáng qua:Xử lý dữ liệu trang Facebook hiệu quả

Error, Code: 4, Message: Application request limit reached 
Error, Code: 17, Message: User request limit reached 

Có câu trả lời liên quan đến những vấn đề này (Facebook api: (#4) Application request limit reached, Facebook OAuth Error: Application request limit reached).

Theo Chính sách nền tảng Facebook, bạn nên liên hệ với họ, Nếu bạn vượt quá, hoặc lên kế hoạch vượt quá, bất kỳ ngưỡng nào sau đây vui lòng liên hệ với chúng tôi vì bạn có thể phải tuân theo các điều khoản bổ sung: (> 5M MAU) hoặc (> 100 triệu cuộc gọi API mỗi ngày) hoặc (> 50 triệu lần hiển thị mỗi ngày). Ứng dụng của tôi đã thực hiện 300K cuộc gọi trong tuần, do đó, nó không được vượt quá những giới hạn này. Tôi đã liên lạc với Facebook nhưng họ chưa trả lời.

Tôi muốn biết các phương pháp hay nhất để tìm nạp dữ liệu từ Facebook là gì. Tôi cần tìm nạp

1. /page_id?fields... 
2. /page_id/posts?fields... 
3. /post_id/likes?fields... 
4. /post_id/comments?fields... 
5. /page_id/insights/ 
6. /post_id/insights/ 

Đối với 2-4 tôi không thể sử dụng yêu cầu hàng loạt vì kết quả được phân trang, tôi đang dùng với giới hạn = 100, cho 5-6 tôi đã tạo yêu cầu hàng loạt với URL chi tiết cụ thể mà tôi cần và không thể giảm số lượng cuộc gọi nữa.

Khi tôi phải đối mặt với

Error, Code: 4, Message: Application request limit reached 

Tôi tạo ra ứng dụng mới và cho lấy Insights tôi cấp read_insights phép bởi cùng một người sử dụng Facebook. Sau đó, tôi phải đối mặt với

Error, Code: 17, Message: User request limit reached 

Vì vậy, tôi cho rằng nếu dấu hiệu sẽ được tạo ra bởi người dùng khác, những người có read_insights phép ứng dụng mới nó có thể làm việc.

Ai đó có thể đề xuất phương pháp tiếp cận tốt nhất để giải quyết vấn đề của tôi là gì? Tôi có nên định cấu hình nhiều mã thông báo truy cập trang cho Ứng dụng của mình (được tạo bởi những người dùng khác nhau) và chuyển đổi giữa chúng khi một trong các mã thông báo Lỗi # 4 hoặc Lỗi # 17 xảy ra?

+0

Loại mã thông báo truy cập nào bạn đang sử dụng? Tôi đoán mã thông báo truy cập trang? – Tobi

+0

Tôi đang sử dụng mã thông báo truy cập trang được tạo cho ứng dụng của mình thông qua trình khám phá đồ thị với các thông tin chi tiết về thông tin chi tiết về Insights, sử dụng mã thông báo ứng dụng cơ bản còn lại được sử dụng (app_id | app_secret). –

Trả lời

0

Bạn đã thử những điều sau đây chưa?

  • Sử dụng các bản cập nhật thời gian thực API để được thông báo về bài mới và ý kiến ​​mới trên bài viết, chứ không phải là bỏ phiếu
  • (trông giống như bạn đang làm điều này) Đảm bảo bạn đang sử dụng trang access token cho một trang để tìm nạp dữ liệu cho trang đó chứ không phải mã thông báo của người dùng hoặc trang khác
  • Dữ liệu lưu vào bộ nhớ cache có thể không thay đổi để tránh tìm nạp lại
  • Yêu cầu nhiều bài đăng trong một cuộc gọi chứ không phải một bài cho mỗi cuộc gọi (sử dụng? Cú pháp id = x, y, z được ghi lại ở đây: https://developers.facebook.com/docs/graph-api/making-multiple-requests)

Sử dụng các phương pháp đó bạn có thể tránh được hoàn toàn việc này

+0

Tôi cần dữ liệu lịch sử trước khi tìm nạp thời gian thực, vì vậy tôi phải sử dụng từ tham số ... –

+0

Đối với nhiều yêu cầu, Facebook thực sự tính toán chúng dưới dạng nhiều cuộc gọi, chứ không phải một và chúng tính đến nhiều yếu tố (bao gồm cả cpu và bộ nhớ mà chúng đã sử dụng) Đối với các cuộc gọi –

+0

Trong trường hợp xấu nhất, tôi dự định lên lịch các cuộc gọi cho một số yêu cầu hàng loạt, với một khoảng thời gian tối ưu, nhưng mong được giải pháp khác –

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