我正在尝试自动化在线提供的Meteor应用程序(即Meteor.com的帐户管理 - 为我所属的所有170多个组织添加协作者)。
我研究过reverse engineering Meteor apps,但未能从DDP消息中正确找出服务器上可用的方法。
通过查找"msg":"method"
,可以在WebSocket框架中看到流星方法。例如,如果您登录https://meteor.com,转到组织,并在Meteor帐户中为组织添加用户名,您可以在WebSocket框架中看到这一点:
{
"msg":"method",
"method":"addOrganizationMember",
"params":["jspdf", "splendido"],
"id": "2"
}
(如果输出看起来比这更糟糕,请投票支持Chrome小组实施此feature request for prettifying WebSocket frame dumps。)但是,在控制台中运行Meteor.call('addOrganizationMember', 'jspdf', 'splendido')
时,该方法名称失败,但错误是找不到方法(404)。
答案 0 :(得分:0)
所以你只想先检查方法是否存在&如果是的话,打电话?
我想你想要的东西是:
if (Meteor.server.method_handlers.addOrganizationMember) {
Meteor.call('addOrganizationMember', 'jspdf', 'splendido')
})
对于客户端方法,它是Meteor.connection._methodHandlers
希望我理解,如果我不这样做,请让我直截了当。