Hi Team,

I have used function get all keyword in file attach but I can't get status 
of keyword.Please let me know if I have gotten status of keyword in some 
ways.

I'm try using BiddableadGroupCriterion.userStatus but it only return status 
= Active

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
public static void GetKeywords()
        {
            WriteLog(DateTime.Now.ToString() + ":Start Keywords.");
            AdWordsUser user = new AdWordsUser();
            Config(user);

            DataSet ds = adw_Get_adwAdGroupActive();
            if (ds == null || ds.Tables[0] == null || ds.Tables[0].Rows.Count 
<= 0)
                return;
            
            string xml = string.Empty;
            int j = 0;
            //int flag = 1;
            adw_Delete_adwKeywordActiveImport();
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                if (dr["AdGroupID"] != null && 
!string.IsNullOrEmpty(dr["AdGroupID"].ToString()))
                {
                    // Get the AdGroupCriterionService.
                    AdGroupCriterionService adGroupCriterionService =
                        
(AdGroupCriterionService)user.GetService(AdWordsService.v201309.AdGroupCriterionService);

                    // Create a selector.
                    Selector selector = new Selector();
                    selector.fields = new string[] { "Id", "AdGroupId", 
"KeywordText" };

                    // Select only keywords.
                    Predicate predicate = new Predicate();
                    predicate.field = "CriteriaType";
                    predicate.@operator = PredicateOperator.EQUALS;
                    predicate.values = new string[] { "KEYWORD" };

                    Predicate predicate2 = new Predicate();
                    predicate2.field = "AdGroupId";
                    predicate2.@operator = PredicateOperator.EQUALS;
                    predicate2.values = new string[] { 
dr["AdGroupID"].ToString() };

                    selector.predicates = new Predicate[] { predicate, 
predicate2 };

                    // Set the selector paging.
                    selector.paging = new Paging();

                    int offset = 0;
                    int pageSize = 500;

                    AdGroupCriterionPage page = new AdGroupCriterionPage();

                    try
                    {
                        do
                        {
                            selector.paging.startIndex = offset;
                            selector.paging.numberResults = pageSize;

                            // Get the keywords.
                            page = adGroupCriterionService.get(selector);

                            // Display the results.
                            if (page != null && page.entries != null)
                            {
                                //if (flag.Equals(1))
                                //{
                                    
                                //    flag = 0;
                                //}
                                int i = offset;
                                string destinationURL = string.Empty;
                                foreach (AdGroupCriterion adGroupCriterion in 
page.entries)
                                {
                                    bool isNegative = (adGroupCriterion is 
NegativeAdGroupCriterion);

                                    // If you are retrieving multiple type of 
criteria, then you may
                                    // need to check for
                                    //
                                    // if (adGroupCriterion is Keyword) { ... }
                                    //
                                    // to identify the criterion type.
                                    Keyword keyword = 
(Keyword)adGroupCriterion.criterion;
                                    BiddableAdGroupCriterion 
BiddableadGroupCriterion = null;
                                    if (isNegative)
                                    {

                                        xml += 
string.Format("<Keyword><adGroupId>{0}</adGroupId><id>{1}</id><text>{2}</text><matchType>{3}</matchType><destinationUrl>{4}</destinationUrl><Type>{5}</Type></Keyword>",
                                                                
adGroupCriterion.adGroupId, keyword.id, 
Microsoft.Security.Application.Encoder.XmlEncode(keyword.text), 
string.Empty,string.Empty,string.Empty);
                                        Console.WriteLine("{0}) Negative 
keyword with ad group ID = '{1}', keyword ID " +
                                            "= '{2}', and text = '{3}' was 
found.", i + 1, adGroupCriterion.adGroupId,
                                            keyword.id, keyword.text);
                                    }
                                    else
                                    {
                                        destinationURL = string.Empty;
                                        BiddableadGroupCriterion = 
(BiddableAdGroupCriterion)adGroupCriterion;
                                        if (BiddableadGroupCriterion.criterion 
is Keyword)
                                        {
                                            destinationURL = 
BiddableadGroupCriterion.destinationUrl;
                                        }
                                        xml += 
string.Format("<Keyword><adGroupId>{0}</adGroupId><id>{1}</id><text>{2}</text><matchType>{3}</matchType><destinationUrl>{4}</destinationUrl><Type>{5}</Type></Keyword>",
                                            adGroupCriterion.adGroupId, 
keyword.id, Microsoft.Security.Application.Encoder.XmlEncode(keyword.text), 
keyword.matchType, destinationURL, BiddableadGroupCriterion != null ? 
BiddableadGroupCriterion.userStatus.ToString(): UserStatus.ACTIVE.ToString());
                                        Console.WriteLine("{0}) Keyword with ad 
group ID = '{1}', keyword ID = '{2}', " +
                                            "text = '{3}' and matchType = '{4} 
was found.", i + 1,
                                            adGroupCriterion.adGroupId, 
keyword.id, keyword.text, keyword.matchType);
                                    }
                                    i++;
                                    j++;
                                    if (j >= 200 && !string.IsNullOrEmpty(xml))
                                    {
                                        
adw_Update_adwKeywordActiveImport(string.Format("<Keywords>{0}</Keywords>", 
xml));
                                        j = 0;
                                        xml = string.Empty;
                                    }
                                }
                            }
                            offset += pageSize;
                        } while (offset < page.totalNumEntries);
                        Console.WriteLine("Number of keywords found: {0}", 
page.totalNumEntries);
                    }
                    catch (Exception ex)
                    {
                        WriteLog(DateTime.Now.ToString() + "Failed to retrieve 
keywords." + ex);
                    }
                    
                }
            }
            if (!string.IsNullOrEmpty(xml))
            {
                
adw_Update_adwKeywordActiveImport(string.Format("<Keywords>{0}</Keywords>", 
xml));
            }
            
            Thread.Sleep(60000);
            adw_Update_adwKeywordActive();
            WriteLog(DateTime.Now.ToString() + ":End Keywords.");
        }

Reply via email to