Как вы можете сказать по названию, я хочу массово удалить некоторые сохраненные поиски с помощью инструментария PHP. Я использовал инструментарий для удаления разных типов записей ранее, но, похоже, не могу заставить его работать для сохраненных поисков. Ниже приведен код, выполняющий грязную работу:
foreach ($sea_del as $rec) {
$deleteRec = new RecordRef();
$deleteRec->typeId = $rec['recordtype'];
$deleteRec->internalId = $rec['id'];
$delete = new DeleteRequest();
$delete->baseRef = $deleteRec;
$delResponse = $service->delete($delete);
print_r ($delResponse);
}
$ rec выглядит так:
Array
(
[id] => 1223
[recordtype] => savedsearch
[columns] => Array
(
[title] => Sales by Reporting Category
[id] => customsearch1223
[recordtype] => Transaction
[owner] => XXXX
[access] => Public
[lastrunby] => Array
(
[name] => xxxx
[internalid] => 54
)
[lastrunon] => 12/6/2013 3:29 pm
[isinactive] =>
)
)
Если я запускаю скрипт, как указано выше, я получаю эту ошибку:
DeleteResponse Object
(
[writeResponse] => WriteResponse Object
(
[status] => Status Object
(
[statusDetail] => Array
(
[0] => StatusDetail Object
(
[code] => RCRD_TYPE_REQD
[message] => The record type is required.
[type] => ERROR
)
)
[isSuccess] =>
)
[baseRef] => RecordRef Object
(
[internalId] => 1223
[externalId] =>
[type] => platformCore:RecordRef
[name] =>
)
)
)
Если я изменю $ deleteRec-> typeId на $ deleteRec-> type, я получу фатальную ошибку, которая говорит: «savesearch не является допустимым значением для RecordType».
Гугл заставил меня поверить, что это не возможно при сохраненных поисках, но я надеюсь, что просто делаю глупую ошибку. Любая помощь будет принята с благодарностью.