GetStream.io - 删除feed nodejs

时间:2016-01-26 18:06:40

标签: javascript node.js getstream-io

我正在使用Getstream.io nodejs模块。

我在运行时创建供稿,想知道是否有办法通过代码删除供稿?

我在代码库中看到有一个删除界面但是当我查看RESTFul API文档时,我没有找到任何删除Feed的终点。

但是当我查看Ruby文档时,我发现有一种删除源的方法。

请告诉我如何从nodejs

中删除getstream.io中的Feed

3 个答案:

答案 0 :(得分:2)

我能够使用nodejs删除Feed。它只是一个黑客,但它会工作。

但请记住,删除Feed意味着删除Feed中的所有活动。饲料仍然存在,可以通过数据管理器看到。以下关系仍然存在。

DeleteFeed = function(params,callback){
  if (params.feedId) {
     var feed = client.feed(params.feedType, params.feedId);
     //remove followings
     feed.following({limit:25,offset:0},function(err,r){
        if (!err) {
           for (var i = 0; i < r.body.results.length; i++) {
             var tempFeed = r.body.results[i].target_id.split(':');
             feed.unfollow(tempFeed[0], tempFeed[1]);
           }
        }
     });
     // do something similar as followings for followers 
     //(I did not have to worry about it hence did not write any code)
     client.delete({
       url: "feed/" + params.feedType  + "/" + params.feedId + "/",
       signature: feed.signature
     }, function (e, r) {
        //DO NOTHING
        //console.log("Error -- " + e);
        //console.log("Result -- " + JSON.stringify(r,null,2));
     });
  }
};

答案 1 :(得分:0)

nodejs客户端库当前不支持删除操作。有一个支持此操作的api端点:feed,但REST文档中未记录删除操作。您可以从getsream.io信息中心的databrowser删除Feed。

答案 2 :(得分:0)

您可以通过执行以下逻辑删除行为来实现:

  • 对提要设计进行建模以进行逻辑删除
  • 尽可能使用必须的 TO 字段,这样您就可以自动删除所有由 To 定位字段添加的供稿活动
  • 考虑遵循 Feed 设计。您只需取消关注已删除的提要即可,而不是删除活动
  • 按照批量删除的顺序正确映射foreign_id字段