2012-11-08 21 views
9

Tôi đã vật lộn với đồ thị api kể từ sáng nay.Đồ thị Api: Đăng lên nguồn cấp dữ liệu trang của tôi với tư cách người dùng, KHÔNG phải là trang

Tôi đang cố đăng một tin nhắn lên trang facebook của mình, nhưng KHÔNG phải là trang, như tôi (người dùng).

Khi tôi cố gắng đăng lên trang của một người bạn, mọi thứ đều hoạt động tốt và tin nhắn được đăng, nhưng khi tôi cố gắng đăng lên trang của mình (tôi là quản trị viên), nó yêu cầu quyền manage_pages và nếu tôi cấp quyền này nó sẽ chỉ đăng tin nhắn AS trang, không phải là bản thân mình!

Có cách nào để chỉ định rằng: có tôi muốn đăng lên tường của trang của mình, vâng tôi là quản trị viên, nhưng tôi muốn đăng là người dùng?

public function postToWall($pageId, $msg) { 
    if($pageId) { 
     $this->callAPI('/'.$pageId.'/feed', 'POST', array(
      'message' => $msg 
     )); 
    } 
} 

/** 
* @param $path 
* @param string $method default to GET 
* @param array $params additional params 
* @return mixed 
*/ 
public function callAPI($path, $method = 'GET', $params = array()) { 
    $params = array_merge(array('access_token' => $this->getAccessToken()), $params); 
    return $this->api($path, $method, $params); 
} 

Nó trả về:

Uncaught OAuthException: (#283) Requires extended permission: manage_pages 

Tôi đã kiểm tra và access_token là thẻ truy cập người dùng của tôi.

Tôi có quyền "publish_stream".

Mọi trợ giúp sẽ được đánh giá cao! Cảm ơn

+0

có cùng sự cố. có vẻ như một số thay đổi chính sách gần đây. điều đó là có thể. – wangii

+1

đã gửi báo cáo lỗi tới fb: https://developers.facebook.com/bugs/297250430385258 – wangii

+0

Tôi cũng đã gửi báo cáo lỗi (nhưng quên đề cập đến nó ở đây) https://developers.facebook.com/bugs/427479617319493 – Olivier

Trả lời

-2

Trong tài liệu FB Bạn có thể đọc về publish_stream:

"Cho phép ứng dụng của bạn để đăng nội dung, nhận xét và thích dòng của người dùng và các dòng của bạn bè của người dùng."

Vì vậy, quyền này không thể cung cấp cho ứng dụng của bạn quyền truy cập để xuất bản trên trang tường. Bạn phải sử dụng quyền "manage_pages". Dưới đây là thông tin thêm:

https://developers.facebook.com/docs/reference/login/page-permissions/

+0

Như đã đề cập trong bài đăng của tôi, tôi đã cố gắng đăng lên trang của một người bạn (không phải bức tường của anh ấy, trang công khai mà anh ấy sở hữu) và nó hoạt động tốt. Bạn có thể thấy trong tài liệu publish_stream được sử dụng để đăng lên một trang: Phương pháp này hoạt động theo hai cách. Bạn có thể sử dụng nó để xuất bản: [...] Trực tiếp đến luồng của người dùng hoặc Trang mà không cần nhắc người dùng. Trước khi ứng dụng của bạn có thể xuất bản trực tiếp lên luồng, người dùng hoặc Trang phải cấp cho ứng dụng của bạn quyền mở rộng publish_stream. Nó nằm trong tài liệu cho hàm JS https://developers.facebook.com/docs/fbjs/streamPublish/ (nhưng một php hoạt động giống nhau) – Olivier

0

Hãy thử đề nghị giải quyết 'publish_actions'. Ngoài ra hãy chắc chắn rằng bạn đang sử dụng trang như người dùng không tự trang trên Facebook.