如何获取操作ID以删除以前在时间轴上发布的操作

时间:2012-04-26 09:41:44

标签: javascript facebook-graph-api facebook-opengraph

我正在使用以下代码在时间轴上发布操作

<script type="text/javascript">
function read()
{
FB.api('/me/app_namespace:read' + 
'?article=http://example.com/test.php&access_token=','post',
function(response) {
var msg = 'Error occured';
if (!response || response.error) {
if (response.error) {
msg += "\n\nType: "+response.error.type+"\n\nMessage: "+response.error.message;
}
alert(msg);
} 
else {

alert('Post was successful! Action ID: ' + response.id);
}
});
}
</script>

现在我想使用以下代码删除操作,但问题是不知道如何从上面的代码中保存“操作ID”,以便可以在以下代码中使用它。

<script type="text/javascript">

function deleteAction()
{
  FB.api(
    '/actionid',
    'delete',
    function(response) {
       alert('action deleted')
    });
}
</script>

谢谢!

1 个答案:

答案 0 :(得分:1)

这取决于,您是否希望在以后的会话或当前删除操作?在当前会话本身中,您可以简单地将其存储在变量中。例如:

function read() 
{
    FB.api('/me/app_namespace:read' + 
    '?article=http://example.com/test.php&access_token=','post',
    function(response) {
    var msg = 'Error occured';
    if (!response || response.error) {
    if (response.error) {
    msg += "\n\nType: "+response.error.type+"\n\nMessage: "+response.error.message;
    }
    alert(msg);
    } 
   else {

   alert('Post was successful! Action ID: ' + response.id);
    var idToDeleteLater = response.id;
}
});
}



 function deleteAction()
{
  FB.api(
    '/'+idToDeleteLater,
    'delete',
    function(response) {
       alert('action deleted')
    });
}

正如您所看到的,这非常简单,您所做的就是将actionID存储在变量中。您可以在阵列中存储多个ID。

另一方面,如果要在以后的会话中删除操作(不太可能是“读取”操作),那么您需要将这些操作ID存储在数据库或其他内容中,然后从那里拉出操作删除。