如何通过PHP SDK在Facebook页面上删除照片?

时间:2014-03-06 15:57:04

标签: php facebook facebook-graph-api facebook-php-sdk

我有问题。 我想删除Facebook页面上的照片,照片是通过php sdk发送的。

我尝试了所有但不起作用..

$Curl_Session = curl_init('https://graph.facebook.com/[photoid]');
 curl_setopt ($Curl_Session, CURLOPT_POST, 1);
 curl_setopt ($Curl_Session, CURLOPT_POSTFIELDS, "method=DELETE&access_token=$token");
 curl_setopt ($Curl_Session, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($Curl_Session, CURLOPT_RETURNTRANSFER, 1);

 echo $a8=curl_exec ($Curl_Session);
 curl_close ($Curl_Session);

不要工作..

$url = 'https://graph.facebook.com/'.$id.'?method=DELETE&access_token='.$token;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
echo $data = curl_exec($ch);


This code is dont work


$sonuc=file_get_contents("https://graph.facebook.com/".$id."?method=DELETE\&access_token=".$token);

请帮助..

如果通过php sdk发送,Facebook允许删除照片。 但所有代码都不起作用..

1 个答案:

答案 0 :(得分:1)

首先,您尝试删除的照片必须已由尝试删除的应用上传。 Facebook DocumentationA photo can only be removed by the same app that published it.

中提到了这一点

您还需要一个有效的页面访问令牌来删除照片。您可以通过添加manage_pages权限并调用/me/accounts获取访问权限列表,找到正确页面的权限列表来获取此权限。

最后,如果应用有权限,则调用:https://graph.facebook.com/{PHOTO_ID}?access_token={PAGE_ACCESS_TOKEN}&method=DELETE会删除照片,否则您将收到如下错误:

{
   "error": {
      "message": "(#200) Permissions error",
      "type": "OAuthException",
      "code": 200
   }
}