我在从我的网络应用程序中删除 Facebook 帖子时遇到问题。现在我知道 Facebook documentation和其他 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
但由于我是一个菜鸟,所以我不完全理解使用 HTTP 请求进行删除的简短解释。由于在我尝试时它不起作用,我假设简单地重定向到上面示例中形成的 url 不会删除任何内容。这意味着我现在必须了解 Web 开发的一些新领域……HTTP 请求。
这些在 php 中是如何完成的? php manual也没有多大帮助。
附加信息:
我尝试过很多不同的变体:
$facebook->api($post_url, 'DELETE', array('method'=> 'delete') );
我传递的 URL 是 '/post_id'
。 post_id
在后期创建时被捕获并存储到数据库中。此 ID 与可以在任何帖子永久链接上找到的 $_GET['story_fbid']
相匹配。也许这不是正确的 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'];
当我运行上面的代码时,没有抛出任何错误。它正在被触摸,因为它在运行后出现诊断性 echo
。
这些是我用 $post_url
传递给 api 的字符串的不同组合:
/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
最佳答案
这应该有效:
$facebook->api("/YOUR_POST_ID","DELETE");
将返回一个 bool 值,成功则返回true,失败则返回false。
删除时尝试在对象 ID 前加上 userid,例如:
$facebook->api("/USER-ID_YOUR-POST-ID","DELETE");
喜欢:
$facebook->api("/12345132_5645465465454","DELETE");
//where 12345132 is fb userid and
//5645465465454 is object id --> post id
关于php - 使用 $facebook->api 从页面删除 Facebook 帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14016584/