首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从criterion获取ipAddress信息?

如何从criterion获取ipAddress信息?
EN

Stack Overflow用户
提问于 2015-09-18 16:50:38
回答 1查看 171关注 0票数 4

我正在使用谷歌广告,目前无法获得具体信息。在我的Adwords帐户上,我设置了3个IP地址排除IP地址。我想从我的代码中获得这些IP:

代码语言:javascript
复制
AdWordsUser user = new AdWordsUser();
var campaignService = (CampaignCriterionService)user.GetService(AdWordsService.v201506.CampaignCriterionService);
int offset = 0;
        int pageSize = 500;

        var page = new CampaignCriterionPage();
        String awql = "SELECT Id where IsNegative = true ORDER BY Id ASC LIMIT " + offset + "," + pageSize;
try
        {
            do
            {   
                page = campaignService.query(awql);

                // Display the results.
                if (page != null && page.entries != null)
                {
                    int i = offset;
                    foreach (var item in page.entries)
                    {
                        var t = item; //my work logic here ....                           
                        i++;
                    }
                }
                offset += pageSize;
            } while (offset < page.totalNumEntries);
            Debug.WriteLine("Number of items found: {0}", page.totalNumEntries);
        }
        catch (Exception e)
        {
            throw new System.ApplicationException("Failed to retrieve campaigns", e);
        }

查询返回结果数: 3,但没有关于ipAddress的实际信息(ipAddress包含null)。

我能做什么?

EN

回答 1

Stack Overflow用户

发布于 2016-04-27 06:13:37

不幸的是,我不相信AWQL为一个被阻止的IP地址提供了一个选择器。在任何情况下,它肯定不会与您在上面使用的AWQL语句一起提供,该语句只返回Id字段:

字符串awql = "SELECT Id where IsNegative = true ORDER BY Id ASC LIMIT“+ offset + ",”+ pageSize;try

这就是响应中的值为空的原因。

我认为唯一可能的方法是使用该服务的SelectorPredicate对象,并使用get()方法而不是query()方法。

此解决方案适用于我(诚然,使用较新版本的API)

代码语言:javascript
复制
var campaignCriterionService = (CampaignCriterionService)user.GetService(AdWordsService.v201601.CampaignCriterionService);
int offset = 0;
int pageSize = 500;

var page = new CampaignCriterionPage();

try
{
    do
    {
        page = campaignCriterionService.get(new Selector
        {
            fields = new string[] { IpBlock.Fields.Id, IpBlock.Fields.IpAddress },
            predicates = new Predicate[]
            {
                new Predicate
                {
                    field = IpBlock.Fields.CriteriaType,
                    @operator = PredicateOperator.EQUALS,
                    values = new string[] { "IP_BLOCK" }
                }
            }
        });

        // Display the results.
        if (page != null && page.entries != null)
        {
            int i = offset;
            foreach (var item in page.entries)
            {
                var t = item; //my work logic here ....                           
                i++;
            }
        }
        offset += pageSize;
    } while (offset < page.totalNumEntries);
    Debug.WriteLine("Number of items found: {0}", page.totalNumEntries);
}
catch (Exception e)
{
    throw new System.ApplicationException("Failed to retrieve campaigns", e);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32647758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档