gpt4 book ai didi

javascript - 最大限度地缩短 Google AdWords 脚本的响应时间

转载 作者:行者123 更新时间:2023-12-03 11:04:58 25 4
gpt4 key购买 nike

在 Google 脚本中,它是 recommended将操作存储在数组中,然后在构造完所有操作后调用方法,以最大限度地减少每次调用服务时的响应时间。

例如在 AdWords 中:

脚本A

var adGroupBuilder = campaign.newAdGroupBuilder(); 

for (i = 0; i < 1000; i++) {
var adGroupOperation = adGroupBuilder
.withName(i.toString())
.build();
}

var adGroups = adGroupOperation.getResult(); // method call

执行时间不到一秒

脚本B

var adGroupBuilder = campaign.newAdGroupBuilder(); 

for (i = 0; i < 1000; i++) {
var adGroupOperation = adGroupBuilder
.withName(i.toString())
.build();

var adGroups = adGroupOperation.getResult(); // method call
}

近 6 分钟内执行。

在 AdWords 中,一个 AdGroup 可以有多个广告,并且为了创建一个 Ad,必须有一个相应的 AdGroup .

我有一个外部 API,它返回大约 15000 个实体,每个批处理为 1000 个,我正在为此开发一个 Google 脚本,将这些实体转换为 AdGroups 以及相应的 Ads 。显然,对其服务进行多次单独调用会导致超时错误。因此,我想将它们分解为 15 个调用,每个调用包含 1000 个实体的数组。

<小时/>

现在,我想知道是否可以将 Ads 添加到 getResults() 方法调用的操作数组中,或者如果 AdGroup 对象需要先实例化,然后才能为其创建 Ad 吗?

因为如果不这样做,我就没有其他选择,只能为我想要转换为广告的每个实体单独调用 AdWords 服务,但响应时间会非常长,并且需要不同的结构。

最佳答案

我通过将操作插入数组然后按照建议迭代它来解决它 here .

C 脚本

var adGroupBuilder = campaign.newAdGroupBuilder(); 
var operations = [];

for (i = 0; i < 1000; i++) {
var adGroupOperation = adGroupBuilder
.withName(i.toString())
.build();
operations.push(adGroupOperation);
}

for (var i = 0; i < operations.length; i++) {
var adGroup = operations[i].getResult();
var adOperation = adGroup.newTextAdBuilder()
.withHeadline("headline of ad")
.withDescription1("first line of ad description")
.withDescription2("second line of ad description")
.withDisplayUrl("www.example.com")
.withDestinationUrl("http://www.example.com")
.build();
}

var ad = adOperation.getResult();

执行时间大约 8 秒

<小时/>

但是,我仍然不太确定为什么这样会更快,因为仍然有 1000 个使用这个坏男孩对其服务的单独调用:operations[i].getResult()。我认为这与谷歌处理调用的方式有关,也许是通过捕获?

如果有人可以分享一些关于此的信息,我们将不胜感激!

关于javascript - 最大限度地缩短 Google AdWords 脚本的响应时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27905673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com