/
GetKeywords.vb
executable file
·126 lines (112 loc) · 5.74 KB
/
GetKeywords.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
' Copyright 2018 Google LLC
'
' Licensed under the Apache License, Version 2.0 (the "License");
' you may not use this file except in compliance with the License.
' You may obtain a copy of the License at
'
' http://www.apache.org/licenses/LICENSE-2.0
'
' Unless required by applicable law or agreed to in writing, software
' distributed under the License is distributed on an "AS IS" BASIS,
' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
' See the License for the specific language governing permissions and
' limitations under the License.
Imports Google.Api.Ads.AdWords.Lib
Imports Google.Api.Ads.AdWords.v201809
Namespace Google.Api.Ads.AdWords.Examples.VB.v201809
''' <summary>
''' This code example gets all keywords in an ad group. To add keywords, run
''' AddKeywords.vb.
''' </summary>
Public Class GetKeywords
Inherits ExampleBase
''' <summary>
''' Main method, to run this code example as a standalone application.
''' </summary>
''' <param name="args">The command line arguments.</param>
Public Shared Sub Main(ByVal args As String())
Dim codeExample As New GetKeywords
Console.WriteLine(codeExample.Description)
Try
Dim adGroupId As Long = Long.Parse("INSERT_ADGROUP_ID_HERE")
codeExample.Run(New AdWordsUser, adGroupId)
Catch e As Exception
Console.WriteLine("An exception occurred while running this code example. {0}",
ExampleUtilities.FormatException(e))
End Try
End Sub
''' <summary>
''' Returns a description about the code example.
''' </summary>
Public Overrides ReadOnly Property Description() As String
Get
Return "This code example gets all keywords in an ad group. To add keywords, run " &
"AddKeywords.vb."
End Get
End Property
''' <summary>
''' Runs the code example.
''' </summary>
''' <param name="user">The AdWords user.</param>
''' <param name="adGroupId">ID of the ad group from which keywords are
''' retrieved.</param>
Public Sub Run(ByVal user As AdWordsUser, ByVal adGroupId As Long)
Using adGroupCriterionService As AdGroupCriterionService = CType(
user.GetService(
AdWordsService.v201809.AdGroupCriterionService),
AdGroupCriterionService)
' Create a selector.
Dim selector As New Selector
selector.fields = New String() { _
Keyword.Fields.Id,
Keyword.Fields.KeywordMatchType,
Keyword.Fields.KeywordText,
Keyword.Fields.CriteriaType
}
' Select only keywords.
Dim criteriaPredicate As New Predicate
criteriaPredicate.field = "CriteriaType"
criteriaPredicate.operator = PredicateOperator.IN
criteriaPredicate.values = New String() {"KEYWORD"}
' Restrict search to an ad group.
Dim adGroupPredicate As New Predicate
adGroupPredicate.field = "AdGroupId"
adGroupPredicate.operator = PredicateOperator.EQUALS
adGroupPredicate.values = New String() {adGroupId.ToString()}
selector.predicates = New Predicate() { _
Predicate.In(Keyword.Fields.CriteriaType,
New String() {"KEYWORD"}),
Predicate.Equals(
AdGroupCriterion.Fields.AdGroupId,
adGroupId)
}
selector.ordering = New OrderBy() {OrderBy.Asc(Keyword.Fields.KeywordText)}
selector.paging = Paging.Default
Dim page As New AdGroupCriterionPage
Try
Do
' Get the keywords.
page = adGroupCriterionService.get(selector)
' Display the results.
If ((Not page Is Nothing) AndAlso (Not page.entries Is Nothing)) Then
Dim i As Integer = selector.paging.startIndex
For Each adGroupCriterion As AdGroupCriterion In page.entries
Dim keyword As Keyword = CType(adGroupCriterion.criterion, Keyword)
Console.WriteLine(
"{0}) Keyword with text '{1}', match type '{2}', criteria " &
"type '{3}', and ID {4} was found.", i + 1, keyword.text,
keyword.matchType,
keyword.type, keyword.id)
i += 1
Next
End If
selector.paging.IncreaseOffset()
Loop While (selector.paging.startIndex < page.totalNumEntries)
Console.WriteLine("Number of keywords found: {0}", page.totalNumEntries)
Catch e As Exception
Throw New System.ApplicationException("Failed to retrieve keywords.", e)
End Try
End Using
End Sub
End Class
End Namespace