我不明白FB' API非常愚蠢,或者我的API认知不适合这个。我的目标非常简单。我有一个CMS。当我从CMS的管理页面创建新闻时,我也想将其发布到我的Facebook页面。这个API让我烦恼! 这是我的代码;
$s = FacebookSession::setDefaultApplication('appid', 'secret');
$session = FacebookSession::newAppSession();
// when I use belowed two line, I'm getting error
//$request = new FacebookRequest($session, 'GET', '/me');
//$pageList = $request->execute()->getGraphObject()->asArray();
$session = new FacebookSession('I don't know what to write here? I have a session already? When I use the access token which taken from api explorer page, due to it's life is short, I'm getting also error.');
$page_post=(new FacebookRequest( $session, 'POST','/<my_page_id_not_my_profile_id>/feed', array(
'access_token' => 'die!!! one more token! what is this!',
'link' => 'link',
'message' => 'message', ) ))->execute()->getGraphObject()->asArray();
注意:我不想要弹出窗口登录或任何其他方法。我想要一个无辜的API,像twitter一样甜蜜地使用...
答案 0 :(得分:0)
Facebook API与Twitter非常相似。您不能仅在Twitter上发布应用会话,您需要授权用户。
由于Facebook上有用户配置文件和页面,因此有用户访问令牌和页面访问令牌。您需要的是一个页面访问令牌,您可以通过授权用户使用您的应用获取用户令牌并调用/me/accounts
端点来获取您管理的所有页面的页面令牌。此外,您需要使用publish_actions
和manage_pages
权限授权用户。之后,您可以将/page-id/feed
端点与该页面标记一起发布到您的页面墙“作为页面”。
以下是有关访问令牌的更多信息,您需要的是一个永久持续的“扩展页面令牌”: