我正在使用 Getstream.io nodejs模块。
我正在运行时创建提要,想知道是否有办法通过代码删除提要?
我在代码库中看到有一个删除接口,但是当我查看 RESTFul API 文档时,我没有找到删除提要的任何终点。
但是当我查看 Ruby 文档时,我发现有办法删除提要。
请让我知道如何实现从 nodejs 中删除 getstream.io 提要
我能够使用 nodejs 删除提要。这只是一个黑客,但它会起作用。
但请记住,删除源意味着它会从源中删除所有活动。提要仍然存在,可以通过数据浏览器查看。跟随/关注关系仍然存在。
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));
});
}
};
nodejs 客户端库当前不支持删除操作。有一个支持此操作的 api 终结点:feed,但删除操作未记录在 REST 文档中。您可以从 getsream.io 仪表板上的数据浏览器中删除源。
您可以通过执行以下操作来执行逻辑删除行为来实现:
- 对源设计进行建模以具有逻辑删除
- 尽可能使用"必须"字段,以便您可以自动删除"目标"字段添加的 Feed 的所有活动
- 考虑跟随源设计。您可以取消关注已删除的提要,而不是删除活动
- 按照批处理删除的顺序正确映射foreign_id字段