2011-08-11 35 views
6

Trong ứng dụng của tôi, hầu hết các bài đăng công khai dường như trả về 'sai' khi được truy cập thông qua API đồ thị.API biểu đồ Facebook trả về 'sai' mặc dù bài đăng là công khai

Ví dụ: https://graph.facebook.com/1543370206_2215254431220?access_token=XXXX

Đó bài hiển thị công khai, tuy nhiên truy vấn ở trên luôn luôn trả về false.

Đối với các câu hỏi tương tự trên StackOverflow, tôi đã thử sử dụng cả mã thông báo truy cập ứng dụng và một số mã thông báo truy cập người dùng oAuth 2.0 khác với offline_access nhưng không thành công.

Tôi cũng đã thử truy cập bằng định dạng ID profileid_postid (như trên) và định dạng postid (https://graph.facebook.com/2215254431220?access_token=XXXX), nhưng không may mắn.

Tôi cũng đã thử lại sau 24 giờ, chỉ để đảm bảo rằng tôi không vượt quá bất kỳ giới hạn API nào.

Tôi đã thử nghiệm hơn 1.000 bài đăng công khai (Tôi biết chúng được công khai vì tôi lấy chúng từ API đồ thị bằng phương pháp tìm kiếm, nhưng tôi cũng đã thực hiện lấy mẫu ngẫu nhiên trong trình duyệt để chắc chắn). 75% trả về false (bất kể tôi có sử dụng mã thông báo truy cập ứng dụng hay mã thông báo truy cập của người dùng) hay không.

+0

Vui lòng thêm liên kết vào nhận xét trên Facebook. –

+0

http://www.facebook.com/permalink.php?story_fbid=2215254431220&id=1543370206 – pricj004

Trả lời

9

Tôi nghĩ rằng tôi đã giải quyết nó.

Bài đăng trả về sai không phải là 'công khai' như vậy. Họ dường như được hiển thị cho bất kỳ người dùng Facebook nào, bất kể họ là bạn của tác giả. Tuy nhiên, nếu bạn không đăng nhập vào Facebook, bạn không thể nhìn thấy chúng.

Bài đăng thành công thực sự là công khai. Hầu hết trong số họ thuộc về các công ty vv và bạn có thể nhìn thấy chúng cho dù bạn đã đăng nhập vào Facebook hay không.

Tôi đoán API đồ thị tạo sự khác biệt giữa hai loại độ nhớt này, ví dụ: 'Mọi người trên Facebook' và 'Mọi người trên Internet'. Tôi đã có một cái nhìn trong cài đặt bảo mật của tôi và không thể tìm ra cách này đã được thực hiện.

Bất kể điều này không được tài liệu hóa rõ ràng trong tài liệu API biểu đồ. Cũng không trả lại 'sai' một cách thanh lịch để xử lý lỗi này. Cũng không nhất quán để cho phép tôi xem bài đăng qua tìm kiếm, nhưng không trực tiếp truy vấn đối tượng.

+0

Bạn có xác định phải làm gì để có được các bài đăng này không? – Stuart

+0

Theo hiểu biết tốt nhất của tôi, nó không thể được thực hiện.Bạn vẫn có thể nhìn thấy chúng bằng cách sử dụng một trình duyệt, vì vậy tôi cho rằng bạn có thể sàng lọc màn hình, nhưng nó chống lại các T & C. – pricj004

0

Bạn nên cân nhắc gửi báo cáo lỗi với Facebook. Để thêm vào vấn đề này, tôi đã nhận thấy rằng các bài đăng công khai này chỉ trả về false nếu chúng là bài đăng của một đối tượng người dùng. Bài đăng theo đối tượng trang hoạt động như mong đợi. Bạn không làm gì sai, vì điều này đang xảy ra trong Facebook's Graph API Explorer (đây là ví dụ mà Facebook cung cấp trong tài liệu API của họ để truy vấn các bài đăng công khai).

1

Tôi biết câu hỏi này nhiều hơn sau đó một tuổi - nhưng Biểu đồ sẽ trả lại đối tượng đúng, nếu bạn sử dụng mã thông báo truy cập trang.

Bạn nhận được chúng bằng cách yêu cầu người dùng cho phép MANAGE_PAGES và sau đó tìm nạp kết nối/Tài khoản trên người dùng. Mỗi mục trong kết nối sẽ chứa một pageid và một mã thông báo truy cập trang cụ thể - mã thông báo này sẽ cho phép bạn tìm nạp tất cả các đối tượng trang từ biểu đồ. Nếu bạn sử dụng mã thông báo ứng dụng hoặc mã thông báo của người dùng, mã sẽ trả về false.

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