我有以下代码,我正试着在照片中解开自己。
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_photos
和publish_actions
权限以及我正在使用的访问令牌(如删除照片代码所需的那样)。
然而,当我运行上述内容时,我收到此错误:
Fatal error: Uncaught exception 'Facebook\FacebookAuthorizationException' with message 'Unsupported delete request.'
我试着像docs那样做,但我无法弄清楚我做错了什么以及为什么我会这样做。
我能做些什么让它发挥作用?
答案 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}}