Dim ReportFields as string = 
"AdGroupId,AdGroupName,CallDuration,CallEndTime,CallerNationalDesignatedCode,CallStartTime,CallStatus,CampaignId,CampaignName"

 Dim headers As New Dictionary(Of String, String)()
       
 headers.Add("email", Email)
        headers.Add("password", Password)
        headers.Add("useragent", engineAccountName)
        headers.Add("developerToken", devToken)
        headers.Add("applicationToken", authToken)
        headers.Add("ClientCustomerId", acct_id)

        Dim user As New AdWordsUser(headers)

        Dim fields() As String = ReportFields.Split(",")
        Dim s As Integer = 0

        Dim selector As New Selector()

        Dim rd As ReportDefinition = New ReportDefinition()
        rd.reportName = ReportName & " " & Date.Today() 
        rd.dateRangeType = ReportDefinitionDateRangeType.YESTERDAY
       
        selector.fields = fields


        rd.reportType = 
ReportDefinitionReportType.CALL_METRICS_CALL_DETAILS_REPORT
        rd.downloadFormat = DownloadFormat.CSV
        rd.selector = selector


        Dim ed As Date = DateAdd(DateInterval.Day, -1, Date.Today())
        Dim reportMo As String = ed.Month
        Dim ReportDy As String = ed.Day
        If Len(reportMo) = 1 Then
            reportMo = "0" & reportMo
        End If
        If Len(ReportDy) = 1 Then
            ReportDy = "0" & ReportDy
        End If
        Dim endDate As String = Year(ed) & "-" & reportMo & "-" & ReportDy

        Dim reportId As String = ""

        ' Add report definition.
        Dim process_time As DateTime = DateTime.Now()
        Dim conv1 As String = "N"

        rd.includeZeroImpressions = False

        fileName = engine & "-"c & 15 & "-"c & site_id & "-"c & 
Replace(acct_id, "-"c, "_") & "-"c & "111111111" & "-"c & endDate.ToString 
& conv1 & ".csv"

 

        Try
            Dim utilities As New ReportUtilities(user)
            utilities.DownloadClientReport(Of ReportDefinition)(rd, 
ReportDir & fileName)

                      
        Catch ex As Google.Api.Ads.AdWords.Lib.AdWordsApiException
            If Not ex.Message.ToString.Contains("Email cannot be null") Then
                AddAPIError(site_id, Processor_id, ex.Message.ToString, 
acct_id)
            End If
        Catch ex As Google.Api.Ads.AdWords.Lib.AdWordsException
            If Not ex.Message.ToString.Contains("Email cannot be null") Then
                'AddAPIError(site_id, Processor_id, ex.Message.ToString + 
"-" + ex.InnerException.Message.ToString, acct_id)
            End If
        Catch ex As Exception
            If Not ex.Message.ToString.Contains("Email cannot be null") Then
                AddAPIError(site_id, Processor_id, ex.Message.ToString, 
acct_id)
                'MailError(site_id, queryid & "-" & ex.Message.ToString, 
ex.InnerException.ToString, "Error: " & ex.Message, Date.Now())
            End If
        End Try

On Wednesday, June 6, 2012 11:39:51 AM UTC-4, Sean wrote:

> Hi, I'm using the .NET libraries. v14.5 dll. I get this error when trying 
> to call the new report. The code works on all other report types.
> The fields included are:
>
> AdGroupId,AdGroupName,CallDuration,CallEndTime,CallerNationalDesignatedCode,CallStartTime,CallStatus,CampaignId,CampaignName
>  
> !!!2|||-1|||cvc-complex-type.2.4.a: Invalid content was found starting 
> with element 'selector'. One of '{"
> https://adwords.google.com/api/adwords/cm/v201109":id, "
> https://adwords.google.com/api/adwords/cm/v201109":selector}' is 
> expected.???
>

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en

Reply via email to