我正在尝试使用PHP SDK创建一个Facebook Native应用程序,这样我就可以不时地通过cron服务自动将链接和事件发布到我拥有的页面。
我获得了应用访问令牌,并为此应用提供了所有必需的权限:publish_stream,manage_pages和create_event。
使用Graph API,我可以通过简单的调用发布到我的用户个人资料页面:
$facebook->api( "/" . USER_ID . "/feed", 'post', $tmp_fields );
但是我无法发布到类似的页面:
$facebook->api( "/" . PAGE_ID . "/feed", 'post', $tmp_fields );
此外,我无法获得/USER_ID/accounts
的页面凭据,因为它返回:
{
"error": {
"message": "(#15) This method is not supported for native apps",
"type": "OAuthException",
"code": 15
}
}
也不访问/PAGE_ID/?fields=access_token
,因为它只返回页面的id字段。
那么,为独立应用发布到用户页面的正确方法是什么,例如每周左右可以从cron运行。如何从Native应用程序中的App Access Token获取页面访问令牌?
答案 0 :(得分:0)
图形API的某些方法不适用于桌面或移动(“本机”)应用程序。我发现related bug report表明这是因为桌面应用程序必须将其应用程序秘密存储在其应用程序中(这可能导致它被反编译并用于进行恶意API调用)。
如果此Facebook应用程序仅供您个人使用,或者您未在其中嵌入App Secret,则可以通过将“Facebook应用程序”的类型更改为“高级”部分中的Web应用程序来解决此限制。应用程序的设置: