搜索在restlet SuiteScript 2.0中不工作



我正在尝试使用搜索。在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一起使用的角色没有访问联系人的权限。我通常在事务中看到这一点,我希望联系人的工作方式类似,因为在掩护下,联系人是实体的一种形式。

最新更新