基本上我有一个网络应用程序,它将发布到Facebook页面(而不是个人资料)墙的链接。
据我所知,我需要一个永久令牌才能做到这一点。 Twitter直接给了我一个帐户,所以我希望facebook会有类似的东西。但是,我使用manage_pages
权限获得的令牌有效期。
从身份验证文档中,这就是我一直在做的事情:
请求令牌来管理页面:
https://www.facebook.com/dialog/oauth?client_id=123456789123&redirect_uri=http://myapp.com/fb&scope=manage_pages&response_type=token
获取令牌回到我打算将其粘贴到我的应用配置中的网址:
http://myapp.com/fb#access_token=123123123123123%7C2.18VYbalblablablaswhg__.3600.1304294400.1-615173155%7CTzb_U9ma0LIPJXNzqsZ_xUJpfn8&expires_in=4205
当我实际尝试使用此帖子发布到页面时,我收到过期错误。
$post_params = array(
'access_token' => self::$page_token,
'message' => $string
);
$response = $fb_app->api('/'.self::$page_id.'/feed','POST', $post_params);
答案 0 :(得分:1)
您需要offline_access权限才能获得永久令牌。 如果您打算以页面本身的形式发布,则需要从该页面的/ USER_ID / accounts获取令牌,否则您将从您的个人资料中发布。如果您不打算以页面形式发布,实际上您不需要manage_pages权限,则用户的publish_stream就足够了。祝你好运。