找不到 Twilio IP 消息系统用户
Twilio IP Messaging user not found
我正在尝试使用 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}
我的理解是,当我们想将某人添加到频道时,我们可以提供自己的身份。在将用户添加到频道之前,我如何 'register' 用户(通过电子邮件)?
编辑 - 代码:
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 开发人员布道师。
要将用户添加为频道成员,您确实需要先注册他们。查看 creating a user in IP Messaging.
的文档
使用您的代码,您需要一个函数,例如:
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.
});
}
我还可以建议您看一下 Twilio helper library for Node.js。它像您为您做的那样处理 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);
});
如果这有帮助,请告诉我。
我正在尝试使用 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}
我的理解是,当我们想将某人添加到频道时,我们可以提供自己的身份。在将用户添加到频道之前,我如何 'register' 用户(通过电子邮件)?
编辑 - 代码:
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 开发人员布道师。
要将用户添加为频道成员,您确实需要先注册他们。查看 creating a user in IP Messaging.
的文档使用您的代码,您需要一个函数,例如:
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.
});
}
我还可以建议您看一下 Twilio helper library for Node.js。它像您为您做的那样处理 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);
});
如果这有帮助,请告诉我。