如何从标准中获取 ipAddress 信息?

Posted

技术标签:

【中文标题】如何从标准中获取 ipAddress 信息?【英文标题】:how can I get ipAddress info from criterion? 【发布时间】:2015-09-18 08:50:38 【问题描述】:

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

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 contains null)。

我能做什么?

【问题讨论】:

您好,您的问题没有解决方案,但也许您可以使用awql.me 更轻松地调试您的查询,这是一个查看 AWQL 查询结果的免费工具。有一个在线帮助和一个帮助构建查询。 感谢您的回答!我真的很感谢你的建议。目前,我已经找到了解决这个问题的方法,并且我正在开发我的另一部分。祝你工作愉快! 【参考方案1】:

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

String awql = "SELECT Id where IsNegative = true ORDER BY Id ASC LIMIT " + offset + "," + pageSize; try

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

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

此解决方案适用于我(诚然与更高版本的 API 一起使用)

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);

【讨论】:

以上是关于如何从标准中获取 ipAddress 信息?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 App Store 下载的 ipa 文件中获取团队 ID?

如何从 xcode bot 生成 .ipa?

iphone上面的ipa程序如何备份到电脑上

用户管理上

如何从App Store下载APP的ipa文件?

php 用于获取基于IPAddress和SubnetMask的网络信息的类