使用 $facebook->api 从页面中删除 Facebook 帖子

Jon*_*man 5 php facebook facebook-graph-api

我无法从我的网络应用程序中删除 Facebook 帖子。现在我知道Facebook 文档和其他 SO 帖子说要这样做:

You can delete objects in the graph by issuing HTTP DELETE requests to 
the object URLs, i.e,

DELETE https://graph.facebook.com/ID?access_token=... HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

但由于我是个菜鸟,我不完全理解用 HTTP 请求删除的简短解释。由于在我尝试时它不起作用,我假设简单地重定向到上面示例中形成的 url 不会删除任何内容。这意味着我现在必须了解 Web 开发的一些新领域... HTTP 请求。

这些是如何在 php 中完成的?在PHP手册的心不是帮不到多少。


附加信息:

我尝试了许多不同的变体:

$facebook->api($post_url, 'DELETE', array('method'=> 'delete') );
Run Code Online (Sandbox Code Playgroud)

我传递的 URL 是'/post_id'. 将post_id在创建后正在捕获并存储到数据库中。此 ID 与$_GET['story_fbid']可在任何帖子永久链接上找到的ID 匹配。也许这不是正确的 ID?我正在使用以下内容检索 ID:

//post to wall
$postResult = $facebook->api($post_url, 'post', $msg_body );
//capture the id of the post
$this->fb_post_id = $postResult['id'];
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码时,没有抛出任何错误。它正在被触摸,因为echo它运行后的诊断。

这些是我传递给 api 的不同字符串组合$post_url

/postid                  api returns true, nothing is deleted from Facebook
/userid_postid           api returns false, Error: (#100) Invalid parameter
/postid_userid           api returns false, Error: (#1705) : Selected wall post for deletion does not exist
/accesstoken_postid      api returns false, Error: (#803) Some of the aliases you requested do not exist 
/postid_accestoken       api returns false, Error: (#803) Some of the aliases you requested do not exist
Run Code Online (Sandbox Code Playgroud)

Gun*_*son 0

更新的答案:

根据您的评论“这是一个页面”,我查看了Graph API 的页面详细信息。如果我理解的细节正确的话,Page Posts不支持删除。详细信息中的每个连接(事件、帖子、问题等)都有一个创建部分,如果连接支持删除,则它有一个删除描述。帖子(供稿)部分仅提及创建,未提及删除。