转变策略

本指南将介绍与现有效果最大化广告系列指南完全类似的构建方式,这些指南假定您将在单个原子请求中创建整个广告系列,而不是在单独的请求中逐个创建每个实体。这意味着,您需要使用临时 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 更新文档

构建完所有操作后,请在一个批处理中执行这些操作:

AdsApp.mutateAll(operations);