Большинство объектов Google Ads предоставляют метод getId() , который возвращает их идентификатор. Хотя в большинстве случаев идентификаторы не являются строго необходимыми, они могут пригодиться, когда...
- Работа с отчетами
- Идентификаторы — это удобный способ связать строку отчета с конкретным объектом Google Ads.
- Поддержание сопоставления с внешним хранилищем данных.
- Возможно, у вас уже есть информация, основанная на идентификаторах, хранящаяся в вашей собственной базе данных.
- Ищете способ немного повысить производительность?
Получение данных по идентификаторам часто происходит быстрее, чем альтернативные варианты. Код для получения одной сущности тоже немного проще:
let campaigns = AdsApp.campaigns() .withIds([678678]) .get(); // versus let campaigns = AdsApp.campaigns() .withCondition("Name='My Campaign'") .get();
Уникальность
Идентификаторы кампаний и групп объявлений уникальны: ни одна кампания или группа объявлений не будет иметь одинаковый идентификатор. Однако объявления и ключевые слова имеют составные идентификаторы: уникальный идентификатор ключевого слова представляет собой комбинацию идентификатора группы объявлений и идентификатора самого ключевого слова. Аналогично, уникальный идентификатор объявления представляет собой комбинацию идентификатора группы объявлений и идентификатора объявления. Это влияет на способ вызова функции selector.withIds() .
Для кампаний и групп объявлений метод selector.withIds() ожидает массив чисел:
let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);
Однако для объявлений и ключевых слов selector.withIds() требует массив из двух элементов, первый из которых — идентификатор группы объявлений. Следующий фрагмент кода извлекает три ключевых слова из группы объявлений:
let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
[adGroupId, 234234],
[adGroupId, 345345],
[adGroupId, 456456]
]);
Аналогичный принцип применяется и при получении рекламы.
Временные удостоверения личности
При работе с запросом на изменение, содержащим несколько операций, иногда может потребоваться использование временных идентификаторов для связывания ресурсов друг с другом, поскольку полные имена ресурсов станут доступны только после получения ответа от API. Временные идентификаторы должны быть отрицательными числами, начиная с -1, и не могут повторяться в одном и том же запросе на изменение. Для эффективного использования временных идентификаторов необходимо написать код, предотвращающий создание дубликатов временных идентификаторов:
let nextId = -1;
function getNextTempId() {
const ret = nextId;
nextId -= 1;
return ret;
}
Каждый последующий вызов функции getNextTempId будет возвращать число на единицу меньше предыдущего. Поскольку все временные идентификаторы должны быть отрицательными, начните с -1.
Временные идентификаторы не сохраняются между заданиями или запросами на изменение. Чтобы сослаться на ресурс, созданный в предыдущем запросе на изменение, используйте его фактическое имя ресурса.