OK, next up when using the V201101 web service to obtain the campaign
level negative keywords, I obtain the match type but not the text.
Another method that is not backward compatible w/o documentation
outlining - so I assume it is a break that I should be reporting to
the dev team.  Please don't shoot the messenger...

Here is my code:
<code>
'Use ArrayList to build Array of Campaign objects to return to call
application
        Dim MyArray As New ArrayList
        Dim campaignCriterion As
GoogleCampaignCriterionAPI.CampaignCriterion = Nothing
        campaignCriterion = New
GoogleCampaignCriterionAPI.CampaignCriterion()
        Dim ix As Long = 0

        ''Create id filter for AdGroupID passed in
        'Dim idFilter As New CampaignCriterionIdFilter()
        'idFilter.campaignId = myCampaignID
        'idFilter.campaignIdSpecified = True

        '' Create selector.
        'Dim selector As New CampaignCriterionSelector()
        'selector.idFilters = New CampaignCriterionIdFilter()
{idFilter}

        ' Create the selector.
        Dim selector As New GoogleCampaignCriterionAPI.Selector
        selector.fields = New String() {"CampaignId"}
        ' Create the filters.
        Dim predicate As New GoogleCampaignCriterionAPI.Predicate
        predicate.field = "CampaignId"
        predicate.operator =
GoogleCampaignCriterionAPI.PredicateOperator.EQUALS
        predicate.operatorSpecified = True
        predicate.values = New String() {myCampaignID.ToString}

        Try
            '' Get all keywords.
            'Dim page As CampaignCriterionPage = myService.[get]
(selector)

            '' Loop keywords.
            'ix = 0

            selector.predicates = New
GoogleCampaignCriterionAPI.Predicate() {predicate}
            Dim page As
GoogleCampaignCriterionAPI.CampaignCriterionPage =
myService.get(selector)
            ' Loop keywords.
            ix = 0

            If page IsNot Nothing AndAlso page.entries IsNot Nothing
Then
                If page.entries.Length > 0 Then
                    For Each campaignCriterion In page.entries

                        If TypeOf campaignCriterion.criterion Is
GoogleCampaignCriterionAPI.Keyword Then
                            Dim keyword As
GoogleCampaignCriterionAPI.Keyword =
DirectCast(campaignCriterion.criterion,
GoogleCampaignCriterionAPI.Keyword)
                            Console.WriteLine("Keyword ad group
criterion with criterion ID = '{0}', text =" & " '{1}' and matchType =
'{2} was found.", keyword.id, keyword.text, keyword.matchType)
                        ElseIf TypeOf campaignCriterion.criterion Is
GoogleCampaignCriterionAPI.Placement Then
                            Dim placement As
GoogleCampaignCriterionAPI.Placement =
DirectCast(campaignCriterion.criterion,
GoogleCampaignCriterionAPI.Placement)
                            Console.WriteLine("Placement ad group
criterion criterion ID = '{0}' and url =" & " '{1}' was found.",
placement.id, placement.url)
                        End If

                        MyArray.Add(campaignCriterion)
                        ix += 1
                    Next
                Else
                    Console.WriteLine("No keywords were found.")
                End If
            End If
        Catch ex As Exception
            Console.WriteLine("Failed to retrieve Keywords(s).
Exception says ""{0}""", ex.Message)
        End Try

</code>

In the code above I identify this as a keyword and unfortunately the
Keyword.text is blank as per my print statement and debugging:
Keyword ad group criterion with criterion ID = '10886981', text = ''
and matchType = 'BROAD was found.

I again verified this works as designed with V201008 and of course w/n
the AdWords portal.  If the solution is to take the KeywordID found
and consume another web service to obtain the text is not efficient.

What is the EOL for V201008, seems like too many bugs in V2011 to
mandate for this month, but with my luck probably is right around the
corner.

Thanks in advance for the patches to these broken web services,
Google.  I'll continue to report 'em as I run into 'em...  And I am
only at the get stage with setters to come, oh boy.

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.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

Reply via email to