The code samples below provide examples of miscellaneous management functions available in the AdWords API. Client Library.
Get all image assets
' 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 image assets. To upload an image asset, run UploadImageAsset.vb. ''' </summary> Public Class GetAllImageAssets 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 GetAllImageAssets Console.WriteLine(codeExample.Description) Try codeExample.Run(New AdWordsUser) 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 image assets. To upload an image asset, run " + "UploadImageAsset.vb." End Get End Property ''' <summary> ''' Runs the code example. ''' </summary> ''' <param name="user">The AdWords user.</param> Public Sub Run(ByVal user As AdWordsUser) Using assetService As AssetService = CType( user.GetService( AdWordsService.v201809.AssetService), AssetService) ' Create the selector. Dim selector As New Selector() selector.fields = New String() { _ Asset.Fields.AssetName, Asset.Fields.AssetStatus, ImageAsset.Fields.ImageFileSize, ImageDimensionInfo.Fields.ImageWidth, ImageDimensionInfo.Fields.ImageHeight, ImageDimensionInfo.Fields.ImageFullSizeUrl } ' Filter for image assets only. selector.predicates = New Predicate() { _ Predicate.Equals(Asset.Fields.AssetSubtype, AssetType.IMAGE.ToString()) } selector.paging = Paging.Default Dim page As New AssetPage() Try Do ' Get the image assets. page = assetService.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 imageAsset As ImageAsset In page.entries Console.WriteLine( "{0}) Image asset with id = '{1}', name = '{2}' and " + "status = '{3}' was found.", i + 1, imageAsset.assetId, imageAsset.assetName, imageAsset.assetStatus) Console.WriteLine(" Size is {0}x{1} and asset URL is {2}.", imageAsset.fullSizeInfo.imageWidth, imageAsset.fullSizeInfo.imageHeight, imageAsset.fullSizeInfo.imageUrl) i = i + 1 Next End If selector.paging.IncreaseOffset() Loop While (selector.paging.startIndex < page.totalNumEntries) Console.WriteLine("Number of image assets found: {0}", page.totalNumEntries) Catch e As Exception Throw New System.ApplicationException("Failed to retrieve image assets.", e) End Try End Using End Sub End Class End Namespace
Get all images and videos
' 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 videos and images. To upload video, see ''' http://adwords.google.com/support/aw/bin/answer.py?hl=en&answer=39454. ''' To upload image, run UploadImage.vb. ''' </summary> Public Class GetAllVideosAndImages 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 GetAllVideosAndImages Console.WriteLine(codeExample.Description) Try codeExample.Run(New AdWordsUser) 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 videos and images. To upload video, see " & "http://adwords.google.com/support/aw/bin/answer.py?hl=en&answer=39454. " & "To upload image, run UploadImage.vb." End Get End Property ''' <summary> ''' Runs the code example. ''' </summary> ''' <param name="user">The AdWords user.</param> Public Sub Run(ByVal user As AdWordsUser) Using mediaService As MediaService = CType( user.GetService( AdWordsService.v201809.MediaService), MediaService) ' Create the video selector. Dim selector As New Selector selector.fields = New String() { _ Media.Fields.MediaId, Dimensions.Fields.Width, Dimensions.Fields.Height, Media.Fields.MimeType } ' Set the filter. Dim mediaTypes = New String() { _ MediaMediaType.VIDEO.ToString(), MediaMediaType.IMAGE.ToString() } selector.predicates = New Predicate() { _ Predicate.In(Media.Fields.Type, mediaTypes) } selector.paging = Paging.Default Dim page As New MediaPage Try Do page = mediaService.get(selector) If ((Not page Is Nothing) AndAlso (Not page.entries Is Nothing)) Then Dim i As Integer = selector.paging.startIndex For Each media As Media In page.entries If TypeOf media Is Video Then Dim video As Video = CType(media, [Video]) Console.WriteLine( "{0}) Video with id '{1}' and name '{2}' was found.", i + 1, video.mediaId, video.name) ElseIf TypeOf media Is Image Then Dim image As Image = CType(media, [Image]) ' Preferred: Use image.dimensions.ToDict() if you are not on ' Mono. Dim dimensions As Dictionary(Of MediaSize, Dimensions) = MapEntryExtensions.ToDict (Of MediaSize, Dimensions)( image.dimensions) Console.WriteLine( "{0}) Image with id '{1}', dimensions '{2}x{3}', and " & "MIME type '{4}' was found.", i + 1, image.mediaId, dimensions(MediaSize.FULL).width, dimensions(MediaSize.FULL).height, image.mimeType) End If i = i + 1 Next End If selector.paging.IncreaseOffset() Loop While (selector.paging.startIndex < page.totalNumEntries) Console.WriteLine("Number of images and videos found: {0}", page.totalNumEntries) Catch e As Exception Throw New System.ApplicationException("Failed to get images and videos.", e) End Try End Using End Sub End Class End Namespace
Upload an image
' 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 Imports Google.Api.Ads.Common.Util Namespace Google.Api.Ads.AdWords.Examples.VB.v201809 ''' <summary> ''' This code example uploads an image. To get images, run GetAllVideosAndImages.vb. ''' </summary> Public Class UploadImage 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 UploadImage Console.WriteLine(codeExample.Description) Try codeExample.Run(New AdWordsUser) 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 uploads an image. To get images, run " & "GetAllVideosAndImages.vb." End Get End Property ''' <summary> ''' Runs the code example. ''' </summary> ''' <param name="user">The AdWords user.</param> Public Sub Run(ByVal user As AdWordsUser) Using mediaService As MediaService = CType( user.GetService( AdWordsService.v201809.MediaService), MediaService) ' Create the image. Dim image As New Image image.data = MediaUtilities.GetAssetDataFromUrl("https://goo.gl/3b9Wfh", user.Config) image.type = MediaMediaType.IMAGE Try ' Upload the image. Dim result As Media() = mediaService.upload(New Media() {image}) ' Display the results. If ((Not result Is Nothing) AndAlso (result.Length > 0)) Then Dim newImage As Media = result(0) ' Preferred: Use newImage.dimensions.ToDict() if you are not on Mono. Dim dimensions As Dictionary(Of MediaSize, Dimensions) = MapEntryExtensions.ToDict (Of MediaSize, Dimensions)( newImage.dimensions) Console.WriteLine( "Image with id '{0}', dimensions '{1}x{2}', and MIME type '{3}'" & " was uploaded.", newImage.mediaId, dimensions.Item(MediaSize.FULL).width, dimensions.Item(MediaSize.FULL).height, newImage.mimeType) Else Console.WriteLine("No images were uploaded.") End If Catch e As Exception Throw New System.ApplicationException("Failed to upload images.", e) End Try End Using End Sub End Class End Namespace
Upload an image asset
' 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 Imports Google.Api.Ads.Common.Util Namespace Google.Api.Ads.AdWords.Examples.VB.v201809 ''' <summary> ''' This code example uploads an image asset. To get images, run GetAllImageAssets.vb. ''' </summary> Public Class UploadImageAsset 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 UploadImageAsset Console.WriteLine(codeExample.Description) Try codeExample.Run(New AdWordsUser) 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 uploads an image asset. To get images, run " + "GetAllImageAssets.vb." End Get End Property ''' <summary> ''' Runs the code example. ''' </summary> ''' <param name="user">The AdWords user.</param> Public Sub Run(ByVal user As AdWordsUser) Using assetService As AssetService = CType( user.GetService( AdWordsService.v201809.AssetService), AssetService) ' Create the image asset. Dim imageAsset As New ImageAsset() ' Optional: Provide a unique friendly name to identify your asset. If you specify ' the assetName field, then both the asset name and the image being uploaded should be ' unique, and should not match another ACTIVE asset in this customer account. ' imageAsset.assetName = "Jupiter Trip " + ExampleUtilities.GetRandomString() imageAsset.imageData = MediaUtilities.GetAssetDataFromUrl("https://goo.gl/3b9Wfh", user.Config) ' Create the operation. Dim operation As New AssetOperation() operation.operator = [Operator].ADD operation.operand = imageAsset Try ' Create the asset. Dim result As AssetReturnValue = assetService.mutate( New AssetOperation() _ {operation}) ' Display the results. If Not (result Is Nothing) AndAlso Not (result.value Is Nothing) _ AndAlso result.value.Length > 0 Then Dim newAsset As Asset = result.value(0) Console.WriteLine("Image asset with id = '{0}' and name = {1} was created.", newAsset.assetId, newAsset.assetName) Else Console.WriteLine("No image asset was created.") End If Catch e As Exception Throw New System.ApplicationException("Failed to upload image assets.", e) End Try End Using End Sub End Class End Namespace
Upload an HTML5 zip file as a MediaBundle
' 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 Imports Google.Api.Ads.Common.Util Namespace Google.Api.Ads.AdWords.Examples.VB.v201809 ''' <summary> ''' This code example uploads an HTML5 zip file. ''' </summary> Public Class UploadMediaBundle 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 UploadMediaBundle Console.WriteLine(codeExample.Description) Try codeExample.Run(New AdWordsUser) 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 uploads an HTML5 zip file." End Get End Property ''' <summary> ''' Runs the code example. ''' </summary> ''' <param name="user">The AdWords user.</param> Public Sub Run(ByVal user As AdWordsUser) Using mediaService As MediaService = CType( user.GetService( AdWordsService.v201809.MediaService), MediaService) Try ' Create HTML5 media. Dim html5Zip As Byte() = MediaUtilities.GetAssetDataFromUrl("https://goo.gl/9Y7qI2", user.Config) ' Create a media bundle containing the zip file with all the HTML5 components. Dim mediaBundleArray(1) As Media Dim mediaBundle As New MediaBundle() mediaBundle.data = html5Zip mediaBundle.type = MediaMediaType.MEDIA_BUNDLE mediaBundleArray(0) = mediaBundle ' Upload HTML5 zip. mediaBundleArray = mediaService.upload(mediaBundleArray) ' Display HTML5 zip. If (Not mediaBundleArray Is Nothing) AndAlso (mediaBundleArray.Length > 0) Then Dim newBundle As Media = mediaBundleArray(0) ' Preferred: Use newBundle.dimensions.ToDict() if you are not on Mono. Dim dimensions As Dictionary(Of MediaSize, Dimensions) = MapEntryExtensions.ToDict (Of MediaSize, Dimensions)( newBundle.dimensions) Console.WriteLine("HTML5 media with id '{0}', dimensions '{1}x{2}', and " & "MIME type '{3}' was uploaded.", newBundle.mediaId, dimensions(MediaSize.FULL).width, dimensions(MediaSize.FULL).height, newBundle.mimeType) Else Console.WriteLine("No HTML5 zip was uploaded.") End If Catch e As Exception Throw New System.ApplicationException("Failed to upload HTML5 zip file.", e) End Try End Using End Sub End Class End Namespace