找不到 Twilio IP 消息传递用户



我正在尝试使用以下说明使用 REST API 将用户身份添加到通道:https://www.twilio.com/docs/api/ip-messaging/rest/members#action-create

我正在发布到/Channels/channelId/Members端点 - 我确定我的请求结构正确。

我收到来自 Twilio IP 消息传递的错误,说:

{"code": 50200, "message": "User not found", "more_info": "https://www.twilio.com/docs/errors/50200", "status": 400}

我的理解是,当我们想要将某人添加到频道时,我们可以提供自己的身份。如何在将用户添加到频道之前"注册"用户(通过电子邮件)?

编辑 - 代码:

var _getRequestBaseUrl = function() {
  return 'https://' +
    process.env.TWILIO_ACCOUNT_SID + ':' +
    process.env.TWILIO_AUTH_TOKEN + '@' +
    TWILIO_BASE + 'Services/' +
    process.env.TWILIO_IPM_SERVICE_SID + '/';
};
var addMemberToChannel = function(memberIdentity, channelId) {                                          
  var options = {
    url: _getRequestBaseUrl() + 'Channels/' + channelId + '/Members',                              
    method: 'POST',                                                                                
    headers: {
      'content-type': 'application/x-www-form-urlencoded',                                         
    },
    form: {
      Identity: memberIdentity,                                                                    
    },
  };                                                                                           
  request(options, function(error, response, body) {
    if (error) {
       // Getting the error here
    }
    // do stuff with response.
  });
};                                                             
addMemberToChannel('test1@example.com', <validChannelId>);

Twilio开发者布道者在这里。

为了将用户添加为频道成员,您确实需要先注册他们。查看有关在 IP 消息传递中创建用户的文档。

使用您的代码,您需要一个如下函数:

var createUser = function(memberIdentity) {
  var options = {
    url: _getRequestBaseUrl() + 'Users',
    method:'POST',
    headers: {
      'content-type': 'application/x-www-form-urlencoded',
    },
    form: {
      Identity: memberIdentity,            
    }
  };
  request(options, function(error, response, body) {
    if (error) {
       // User couldn't be created
    }
    // do stuff with user.
  });
}

我还可以建议你看看 Node.js 的 Twilio 帮助程序库。它处理URL的创建,就像您为您所做的那样。代码看起来也更干净,您可以使用帮助程序库创建一个用户,如下所示:

var accountSid = 'ACCOUNT_SID';
var authToken = 'AUTH_TOKEN';
var IpMessagingClient = require('twilio').IpMessagingClient;
var client = new IpMessagingClient(accountSid, authToken);
var service = client.services('SERVICE_SID');
service.users.create({
    identity: 'IDENTITY'
}).then(function(response) {
    console.log(response);
}).fail(function(error) {
    console.log(error);
});

让我知道这是否有帮助。

最新更新