Чтобы сгенерировать необходимые токены - ключ потребителя, секрет потребителя, идентификатор токена, секрет токена - мы создаем интеграцию и получаем доступ к токенам и назначаем их сотруднику с определенной ролью, имеющей доступ к TBA. ( См. https://medium.com/@morrisdev/netsuite-token-based-authentication-tba-342c7df56386)
Разве не возможно получить конкретную роль этого сотрудника без особых хлопот?
Я пытаюсь это сделать, ноЯ не мог найти способ, поэтому я просто начал перечислять всех возможных сотрудников и потребовал, чтобы лицо, проходящее аутентификацию, кроме предоставления его 4 токенов (вместе с идентификатором их учетной записи), также предоставило свою роль, что кажется глупым (Однажды яесть сотрудники, я могу найти того, кто обладает необходимой ролью, если они единственные, кто его использует. )
private static void GetEmployees()
{
EmployeeSearch search = new EmployeeSearch();
EmployeeSearchBasic esb = new EmployeeSearchBasic();
esb.isInactive = new SearchBooleanField();
esb.isInactive.searchValue = false;
esb.isInactive.searchValueSpecified = true;
search.basic = esb;
SearchResult res = Client.Service.search(search);
res.pageSize = 2000;
res.pageSizeSpecified = true;
if (res.status.isSuccess)
{
Record[] searchRecords = res.recordList;
if (searchRecords != null && searchRecords.Length >= 1)
{
//Do something...
}
else
{
//Do something...
}
}
else
{
throw new Exception("Couldn't find any employees.");
}
}
Причина, по которой я ищу их роль, чтобы убедиться, что у него есть необходимые разрешения, которые я буду использовать. Если мне не нужна их роль для выполнения этой задачи, потому что она снова каким-то образом связана с токенами, пожалуйста, дайте мне знать, как и япри необходимости измените контекст.
Я использую следующие веб-сервисы - https://webservices.netsuite.com/wsdl/v2017_2_0/netsuite.wsdl