本指南将介绍如何构建与现有效果最大化广告系列指南完全相同的模拟,后者假设您使用单个原子化请求制作整个广告系列,而不是在单独的请求中一次创建一个实体。这意味着,您需要使用临时 ID 将资源相互关联,因为在您收到 API 响应之前,不知道完整的资源名称。
为此,您必须编写一些代码以确保不会创建任何重复的临时 ID:
let nextId = -1;
function getNextTempId() {
const ret = nextId;
nextId -= 1;
return ret;
}
每次连续调用 getNextTempId
时,返回的都是比前一个小 1 的数字。由于所有临时 ID 都必须为负数,因此请从 -1 开始。
完成上述操作后,您现在可以创建一个数组来保存所有操作:
const operations = [];
您经常需要制作广告系列的客户的客户 ID,因为每个资源名称中都需要该 ID。
const customerId = AdsApp.currentAccount().getCustomerId();
每次要创建新操作时,您都需要在资源名称中使用下一个临时 ID,以便稍后引用此对象,并将创建的对象插入到数组中:
const newOperation = {
[OPERATION_TYPE_VARIES]: {
create: {
resourceName: `customers/${customerId}/[EXACT_PATH_VARIES]/${getNextTempId()}`
// Other fields, relevant to the resource being created.
}
}
}
operations.push(newOperation);
您可以参阅 Google Ads API REST mutate 文档,了解详情并查看示例操作。
构建完所有操作后,请批量执行这些操作:
AdsApp.mutateAll(operations);