'不支持的删除请求。'通过Facebook PHP SDK 4删除照片标签

时间:2014-06-25 08:57:08

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

我有以下代码,我正试着在照片中解开自己。

use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;

FacebookSession::setDefaultApplication('<appid>','<appsecret>');

$session = new FacebookSession('<my access token>');

$request = new FacebookRequest(
  $session,
  'DELETE',
  '/<id of photo im tagged in>/tags',
  array (
    'id' => '<my fb id>',
  )
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */

var_dump($response);
var_dump($graphObject);

我同时拥有user_photospublish_actions权限以及我正在使用的访问令牌(如删除照片代码所需的那样)。

然而,当我运行上述内容时,我收到此错误:

Fatal error: Uncaught exception 'Facebook\FacebookAuthorizationException' with message 'Unsupported delete request.'

我试着像docs那样做,但我无法弄清楚我做错了什么以及为什么我会这样做。

我能做些什么让它发挥作用?

1 个答案:

答案 0 :(得分:0)

删除标签的正确方法是致电:

$request = new FacebookRequest(
  $session,
  'DELETE',
  '/<id of photo im tagged in>/tags',
  array (
    'tag_uid' => '<my fb id>',
  )
);
$response = $request->execute();
$graphObject = $response->getGraphObject();

然而,这是错误记录的。此外,只有列入白名单的应用才能通过API删除标签。文档也未包含此内容。如果您的应用未被列入白名单,您将看到以下错误:

{&#34;错误&#34;:{     &#34; message&#34;:&#34;(#3)应用程序无法进行此API调用。&#34;,     &#34;输入&#34;:&#34; OAuthException&#34;,     &#34;代码&#34;:3}}