TargetingIdeaPage entries always is null

29 views
Skip to first unread message

pham tri

unread,
Oct 9, 2017, 12:24:44 AM10/9/17
to AdWords API Forum
This is my code.

            TargetingIdeaService targetingIdeaService = (TargetingIdeaService)user.GetService(AdWordsService.v201708.TargetingIdeaService);
            // Create selector.
            TargetingIdeaSelector selector = new TargetingIdeaSelector();
            selector.requestType = RequestType.STATS;
            selector.ideaType = IdeaType.KEYWORD;
            selector.requestedAttributeTypes = new AttributeType[] {
            AttributeType.KEYWORD_TEXT,
            AttributeType.SEARCH_VOLUME,
            AttributeType.CATEGORY_PRODUCTS_AND_SERVICES};
 
            // Create the search parameters.
            string keywordText = "tin tuc";
 
            // Create related to query search parameter.
            RelatedToQuerySearchParameter relatedToQuerySearchParameter =
                new RelatedToQuerySearchParameter();
            relatedToQuerySearchParameter.queries = new String[] { keywordText };
 
            // Add a language search parameter (optional).
            // The ID can be found in the documentation:
            //   https://developers.google.com/adwords/api/docs/appendix/languagecodes
            LanguageSearchParameter languageParameter = new LanguageSearchParameter();
            Language english = new Language();
            english.id = 1000;
            languageParameter.languages = new Language[] { english };
 
            // Add network search parameter (optional).
            NetworkSetting networkSetting = new NetworkSetting();
            networkSetting.targetGoogleSearch = true;
            networkSetting.targetSearchNetwork = false;
            networkSetting.targetContentNetwork = false;
            networkSetting.targetPartnerSearchNetwork = false;
 
            NetworkSearchParameter networkSearchParameter = new NetworkSearchParameter();
            networkSearchParameter.networkSetting = networkSetting;
 
            // Set the search parameters.
            selector.searchParameters = new SearchParameter[] {
            relatedToQuerySearchParameter, languageParameter, networkSearchParameter
            };
 
            // Set selector paging (required for targeting idea service).
            Paging paging = Paging.Default;
            TargetingIdeaPage page = new TargetingIdeaPage();
            selector.paging = paging;
            try
            {
                int i = 0;
                do
                {
                    // Get related keywords.
                    page = targetingIdeaService.get(selector);
 
                    // Display related keywords.
                    if (page.entries != null && page.entries.Length > 0)
                    {
                        foreach (TargetingIdea targetingIdea in page.entries)
                        {
                            string keyword = null;
                            string categories = null;
                            long averageMonthlySearches = 0;
 
                            foreach (Type_AttributeMapEntry entry in targetingIdea.data)
                            {
                                if (entry.key == AttributeType.KEYWORD_TEXT)
                                {
                                    keyword = (entry.value as StringAttribute).value;
                                }
                                if (entry.key == AttributeType.CATEGORY_PRODUCTS_AND_SERVICES)
                                {
                                    IntegerSetAttribute categorySet = entry.value as IntegerSetAttribute;
                                    StringBuilder builder = new StringBuilder();
                                    if (categorySet.value != null)
                                    {
                                        foreach (int value in categorySet.value)
                                        {
                                            builder.AppendFormat("{0}, ", value);
                                        }
                                        categories = builder.ToString().Trim(new char[] { ','' ' });
                                    }
                                }
                                if (entry.key == AttributeType.SEARCH_VOLUME)
                                {
                                    averageMonthlySearches = (entry.value as LongAttribute).value;
                                }
                            }
                            //Console.WriteLine("Keyword with text '{0}', and average monthly search volume " +
                            //    "'{1}' was found with categories: {2}", keyword, averageMonthlySearches,
                            //    categories);
                            i++;
                        }
                    }
                    selector.paging.IncreaseOffset();
                } while (selector.paging.startIndex < page.totalNumEntries);
                //Console.WriteLine("Number of related keywords found: {0}", page.totalNumEntries);
            }
            catch (Exception e)
            {
                throw new System.ApplicationException("Failed to retrieve related keywords.", e);
            }

Result when use keyword planner


Reply all
Reply to author
Forward
0 new messages