问题描述
|
基本上,我有一个Web应用程序,它将发布指向Facebook页面(而非个人资料)墙的链接。
据我所知,我需要一个永久令牌来执行此操作。 Twitter给了我一个直接的帐户,所以我希望Facebook会有类似的东西。但是我获得“ 0”许可的令牌已到期。
根据身份验证文档,这是我一直在做的事情:
请求令牌来管理页面:
https://www.facebook.com/dialog/oauth?client_id=123456789123&redirect_uri=http://myapp.com/fb&scope=manage_pages&response_type=token
获取令牌返回的URL,我打算将其粘贴到我的应用程序配置中:
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);
解决方法
您需要offline_access权限才能获取永久令牌。
如果您打算以页面本身的形式发布,则需要从/ USER_ID / accounts获取该页面的令牌,否则您将从个人资料中发布。如果您不打算以页面形式发布,则实际上并不需要manage_pages权限,用户的publish_stream就足够了。祝好运。