我正在为一个活动构建一个应用程序,以便他们可以直接在Facebook上发布他们的新闻消息。我正在尝试使用de php SDK V4,但是我不理解登录过程的某些部分(搜索几个小时后仍无法找到解决方案)。
我的问题出在登录过程中。首先,您必须指定您的应用程序并为您的应用程序保密。比你必须用帐户登录facebook。
在我搜索过程中,我找到了一个正在制作类似系统的人的例子(Facebook Graph API PHP SDK v4 - Post on Page)。他/她使用下面的代码来获取Facebook会话:
FacebookSession::setDefaultApplication('{APP ID}','{APP SECRET}');
$session = new FacebookSession('{Page Access Token}');
这表明您不需要用户登录facebook,只需要一个Page Acces Token。但是,如果我理解正确(如果我错了就纠正我),要获得Page Acces Token,首先需要一个User Acces Token(https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens)。要获得用户访问令牌,您应该登录,而不是在我的故事开头回到问题1和2。
或者我可以使用以下api请求获取Page Acces令牌(根据https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens)
GET /{user-id}/accounts
使用随机用户ID,只要页面管理员授予此用户生成此类令牌的权限(因此在检索Page Acces令牌时不应登录与“user-id”相关的用户?)。
答案 0 :(得分:1)
听起来你需要使用以下流程:
manage_pages
扩展权限。这样您就可以访问他们管理的页面。/me/accounts
获取user's pages的列表。每个页面都会返回一个access_token
字段。这些都是page access tokens。我们希望使用长期存在的用户访问令牌来获取此列表,以便返回的所有页面访问令牌都不会有到期日期。他们永远活着! :)而Facebook Query Builder可能会使整个过程变得更加容易。 :)
希望有所帮助!