2010-12-13 28 views
21

Tôi đang làm việc trên một dự án để đăng dữ liệu lên các bức tường của các trang Facebook. Tôi đã thiết lập một ứng dụng Facebook và hiện đang yêu cầu các điều khoản sau đây từ người dùng khi cố gắng gửi đến tường trang web của họ:Quyền Facebook nào cho phép đăng lên tường trang (không phải tường hồ sơ)?

  • publish_stream
  • offline_access
  • manage_pages

Mã này hiện bài viết để tường PROFILE thành công, nhưng khi cố gắng đăng lên tường của PAGE, lỗi sau được trả lại:

Facebook error: (#200) The user hasn't authorized the application to perform this action.

Một lần nữa, tôi yêu cầu các điều khoản dường như đủ để đăng lên tường của hồ sơ, chứ không phải lên tường của trang. Tôi cho phép (những) giấy phép nào để đăng lên tường của trang? Cảm ơn bạn trước vì đã giúp đỡ.

+0

Cần thêm thông tin . Bạn sử dụng giao thức (API) nào? Bạn có nhận được mã thông báo truy cập cho các trang không? Quản trị viên người dùng của trang bạn có cố gắng kết nối không? – Lex

+0

Tôi đang sử dụng giao thức OAuth 2.0 để nhận mã thông báo truy cập và đang sử dụng API đồ thị để đăng dữ liệu, đưa ra yêu cầu curl tới "https://graph.facebook.com/".$facebookPageID."/feed" để đăng dữ liệu lên tường thuộc $ facebookPageID. Tôi đã nhận được mã thông báo truy cập cho cả tường của hồ sơ và tường của trang. Trang được quản lý bởi người dùng có hồ sơ mà tôi đăng lên và Facebook trả về cùng một mã thông báo truy cập cho cả hai trang. Mã thông báo truy cập được cấp bằng cách đăng nhập vào tài khoản của quản trị viên của trang. Cảm ơn bạn rất nhiều vì đã dành thời gian và giúp đỡ. – Sean

Trả lời

12

đây là những gì bạn làm. Đầu tiên, đọc tài liệu trên extended permissions. Chú ý rằng 'manage_pages' cho biết:

Enables your application to retrieve access_tokens for pages the user administrates. The access tokens can be queried using the "accounts" connection in the Graph API. This permission is only compatible with the Graph API.

Điều này có nghĩa bạn phải chuyển sang thẻ truy cập của người dùng của bạn dựa trên phản hồi từ

https://graph.facebook.com/$USERID/accounts?access_token=$USER_ACCESS_TOKEN 

cho ứng dụng của bạn. Vì vậy, một khi bạn có TRANG bạn TRUY CẬP TOKEN, chuyển đổi theo yêu cầu để gửi thông điệp của bạn như ví dụ:

https://graph.facebook.com/$PAGEID/feed 

trong postfields (sử dụng curl hoặc một số ví dụ), bao gồm thông điệp của bạn và $ PAGE_ACCESS_TOKEN

+2

Tôi phải bao gồm quyền ** status_update ** (scope = publish_actions, manage_pages, status_update) để đăng lên trang FB. Tôi không thể tìm thấy sự cho phép này trong bất kỳ tài liệu facebook nào. Xem http://stackoverflow.com/q/15796138/516910 Tôi đã làm _not_ phải "thích" trang. –

+0

Bản cập nhật mới nhất cho quy trình này là gì? –

2

Để POST lên tường của người dùng, bạn có thể sử dụng quyền "publish_stream" nhưng điều này không giống với Trang. Để POST lên tường của Trang, chúng tôi cần phải trước tiên như Trang. (Trở thành một Fan hiện đã được gỡ bỏ bởi Facebook). Câu trả lời ở trên dựa trên kinh nghiệm của tôi với FBConnect (Facebook SDK cho iPhone). Trong ứng dụng của tôi, tôi đã phải sử dụng nút Like để cho phép người dùng đầu tiên Giống như trang và sau đó anh ấy có thể POST trên tường của PAGE. Tôi không thể tìm thấy bất kỳ sự cho phép cụ thể nào cho cùng một điều có thể trực tiếp cho phép người dùng đăng lên tường của Trang sau khi đăng nhập. Nếu bạn nhận được bất kỳ đầu mối xin vui lòng cho tôi biết là tốt.

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