2016-01-08 130 views
-4

我实际上正在处理一些电子商务网站的遗留PHP代码,管理员可以在其商店的Facebook页面上自动共享一些产品。 这不再工作,即使在facebook API参考之后,我仍然遇到麻烦。 遗留代码使用一个应用程序张贴在墙上作为应用程序自动发布在Facebook页面墙上

访问令牌
为了得到一个有效的访问令牌,我做一个重定向到:

http://www.facebook.com/dialog/oauth?client_id=$FB_APP_ID& 
redirect_uri=$APP_RETURN_URL& 
scope=publish_actions,manage_pages 

然后,我得到的代码它具有以下参数返回,并要求一个GET请求来https://graph.facebook.com/oauth/access_token

'client_id' => $FB_APP_ID, 
'redirect_uri' => $APP_RETURN_URL, 
'client_secret' => $FB_APP_SECRET, 
'code' => $code (got from the above redirect) 

然后我将访问令牌返回(我没有得到任何错误消息和一个有效的access_token)

的问题是,当我尝试发布上用POST调用https://graph.facebook.com/ $ PAGEID墙/饲料 我得到以下错误信息:

(#283 )需要扩展权限:manage_pages

我用于第一次重定向的作用域参数不足以获得manage_pages权限?

N.B.我用我的Facebook用户帐户做这个,他是Facebook页面上的编辑。也许它可以帮助

编辑:这是访问令牌调试输出:

的App ID .....
用户ID ...
用户最后安装通过API版本2.x这个程序
发行1452163781(21小时前)
过期1457347781(在约2个月)
有效真
原始Web
作用域电子邮件,public_profile

我应该如何请求manage_pages范围?

+0

在此处调试Facebook令牌:https://developers.facebook.com/tools/debug/accesstoken?q = –

+0

编辑了该问题 – gbalduzzi

回答

1

您需要通过Facebook查看这些权限,然后才能向普通用户(在应用中没有角色的用户)请求这些权限。

这在文档中的多个地方被明确提及,并在广泛的详细介绍:上https://developers.facebook.com/docs/facebook-login/permissions/review

另外,从API V2.3,则需要publish_pages许可(而不是publish_actions)发布一个页。

相关问题