2011-01-20 27 views
7

Có ai biết tại sao dù có bao nhiêu nhận xét mà đối tượng cập nhật trạng thái đồ thị đã đưa ra, nó sẽ đưa ra nhận xét ở mức 25? Tôi có cảm giác nó chỉ trả về một 'mẫu' của các nhận xét thực tế về đối tượng. Làm cách nào để tôi có thể sử dụng API FQL?Facebook kết nối các đối tượng trạng thái đồ thị có các chú thích được giới hạn ở số 25

+0

không giới hạn ở mức 4. Truy vấn FQL của bạn là gì? – ilteris

+0

xin lỗi bạn đời, tôi đã thay đổi câu hỏi một chút bên dưới bạn –

Trả lời

1

Đây chỉ là cách thức hoạt động của Graph API. Hãy xem các tài liệu API. Bạn nhận được 25 tại một thời điểm và phải lặp qua chúng. Bạn có thể sử dụng dấu thời gian (created_time) của nhận xét cuối cùng trong lô làm tham số trong lệnh gọi API đồ thị tiếp theo hoặc bạn có thể sử dụng thông số offset. Đó là những gì tôi đã làm. Tôi đã chạy vào một số screwiness sử dụng created_time. Đây là một ví dụ từ ứng dụng thử nghiệm C# của tôi. Bỏ qua các tham chiếu đến đối tượng PostComment chỉ là cấu trúc dữ liệu mà tôi đã tạo để giữ dữ liệu tôi đang kéo. Sự kỳ diệu (và quá trình tôi đang tham khảo) là trong các tham số được truyền cho các cuộc gọi graph API:

parameters.Add("offset", numPostComments); 
parameters.Add("limit", 25); 

Tôi khá chắc chắn bạn có thể thiết lập "giới hạn" để bất cứ điều gì 25 hoặc thấp hơn.

do 
{ 
    foreach (var comment in comments.data) 
     { 
      numPostComments++; 
      PostComment pc = new PostComment(); 
      pc.Post_ID = p.Id; 
      pc.Facebook_ID = comment.id; 
      pc.From = comment.from.name; 
      if (comment.likes != null) 
       pc.Likes = (int)comment.likes; 
      pc.CommentDate = DateTime.Parse(comment.created_time); 
      pc.CommentText = comment.message; 
      p.Comments.Add(pc); 
     } 
     // Create new Parameters object for call to API 
     Dictionary<string, object> parameters = new Dictionary<string, object>(); 
     parameters.Add("offset", numPostComments); 
     parameters.Add("limit", 25); 

     // Call the API to get the next block of 25 
     comments = client.Get(string.Format("{0}/comments", p.Facebook_ID), parameters); 
} while (comments.data.Count > 0); 
1

Tôi hy vọng liên kết này sẽ giúp bạn

How to move to the next page in Facebook JSON response using iOS SDK?

+0

Điều đó có chuyển sang trang tiếp theo của cập nhật trạng thái hoặc trang tiếp theo của các nhận xét về một cập nhật trạng thái không? Nếu sau này nó sẽ không hoạt động vì tôi đang tìm nạp hơn 100 cập nhật trạng thái trong một lần truy cập .. và để gọi riêng biệt để có thêm nhận xét trên mỗi lượt truy cập sẽ rất chậm. –

+0

Xin chào Mike, và tôi xin lỗi khi nói rằng tôi không biết, cách tốt nhất là thử nó và kiểm tra xem – Yogesh

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