使用本机php应用程序发布到facebook页面

使用本机php应用程序发布到facebook页面,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我正在尝试使用PHPSDK创建一个Facebook原生应用程序,这样我就可以不时地从cron服务自动将链接和事件发布到我拥有的页面上 我获得了应用程序访问令牌,并为该应用程序授予了所有必需的权限:发布\u流、管理\u页面和创建\u事件 使用Graph API,我可以通过简单的调用发布到我的用户配置文件页面: $facebook->api( "/" . USER_ID . "/feed", 'post', $tmp_fields ); 但我无法发布到具有类似内容的页面: $faceboo

我正在尝试使用PHPSDK创建一个Facebook原生应用程序,这样我就可以不时地从cron服务自动将链接和事件发布到我拥有的页面上


我获得了应用程序访问令牌,并为该应用程序授予了所有必需的权限:发布\u流、管理\u页面和创建\u事件

使用Graph API,我可以通过简单的调用发布到我的用户配置文件页面:

$facebook->api( "/" . USER_ID . "/feed", 'post', $tmp_fields );
但我无法发布到具有类似内容的页面:

$facebook->api( "/" . PAGE_ID . "/feed", 'post', $tmp_fields );
此外,我无法使用
/USER\u ID/accounts
获取页面凭据,因为它返回:

{
   "error": {
      "message": "(#15) This method is not supported for native apps",
      "type": "OAuthException",
      "code": 15
   }
}
也不访问
/PAGE\u ID/?fields=access\u token
,因为它只返回页面的ID字段



那么,对于可以每周左右从cron运行的独立应用程序,向用户页面发布的正确方式是什么呢。如何仅从本机应用程序中的应用程序访问令牌获取页面访问令牌?

桌面或移动(“本机”)应用程序无法使用Graph API的某些方法。我发现的一个例子表明,这是因为桌面应用程序必须在其应用程序中存储其应用程序机密(这可能导致其被反编译并用于进行恶意API调用)

如果此Facebook应用程序是供您个人使用的,或者您没有在其中嵌入应用程序机密,您可以通过在应用程序设置的“高级”部分将Facebook应用程序的类型更改为web应用程序来绕过此限制:


我想你不明白什么是“原生”应用。没有进一步的解释,你的评论也没有什么帮助……我想创建一个独立的应用程序,它将发布到facebook页面的墙上。我可能想通过双击桌面上的图标或通过cron/scheduler来启动它。那么,PHP不是本机桌面应用程序的最佳选择。PHP被解释,它需要一个服务器来运行。桌面应用程序通常是用C语言编写的,然后编译成程序。同样,如果你不能提供答案,请不要发表评论。如果我将一种语言更改为C,我将如何得到另一个错误,然后给出“本机应用程序不支持此方法”?你读过这个问题吗?这与PHP、Facebook API以及如何使用本机应用程序发布到页面无关。没有人能提供答案,因为你不能用PHP制作本机桌面应用程序。我敢说,如果你继续粗鲁无礼,任何人在回答之前都会三思而后行。谢谢马蒂的回复。我已经使用了其他FB应用程序的Web应用程序类型,但我认为这是一个黑客,而不是一个解决方案。请注意,目前,使用本机应用程序(!),我可以向用户订阅。。。问题是,尽管我拥有正确的权限,但我无法发布到用户拥有的页面提要。因此,我仍然不知道为什么本地应用可以发布到用户页面(不需要web应用类型),但不能发布到相同用户拥有的页面…如果你认为这是一个bug,你应该向Facebook报告。我认为这很可能是“故意的”。请注意,您的问题不是发布到页面提要失败,而是本机应用程序无法访问“帐户”连接。我特别提到了关于创建测试用户的bug,因为它使用了类似的API端点。