我正在尝试使用搜索。在RESTlet中创建以检查我的netsuite帐户中是否存在联系人。这是我的代码
define(['N/record','N/search'],
function(record,search) {
function dosearch(contact_mail){
var result;
try{
result = search.create({
type : record.Type.CONTACT,
filters:['email','IS',contact_mail],
columns: ['email']
}).run().getRange({
start: 0,
end: 1
});
log.debug(result);
} catch(e){
result = e;
}
return result;
}
function doGet(requestParams) {
var contact_mail = requestParams.email;
log.debug(contact_mail);
var result = dosearch(contact_mail);
return result;
}
我正在使用这个节点js代码从我的系统访问这个RESTlet。
async function myGet(){
var para = {id: 'my_id' , email: 'email'};
var accountSettings = {
//'Content-Type': 'application/json',
//params: para,
accountId: account_id,
tokenKey: token_key,
tokenSecret: token_secret,
consumerKey: consumer_key,
consumerSecret: consumer_secret };
var urlSettings = {
url: link
}
var myInvoices = nsrestlet.createLink(accountSettings, urlSettings)
try{
var res = await myInvoices.get(para);
console.log(res);
} catch(e){
console.log(e);
}
}
代码有问题吗?我尝试了与用户事件脚本相同的搜索代码,它在那里工作,但在RESTlet中不起作用。有人能帮我一下吗?
无声地失败搜索表明您与RESTlet一起使用的角色没有访问联系人的权限。我通常在事务中看到这一点,我希望联系人的工作方式类似,因为在掩护下,联系人是实体的一种形式。