2014-05-15 7 views
0

애드워즈 API에서 클릭 실적 보고서를 다운로드하려고합니다. 예를 들어, Date 필드 만 선택하고 있습니다.애드워즈 API PHP - 실적 보고서 클릭

function DownloadCriteriaReportExample(AdWordsUser $user, $filePath) { 
    // Load the service, so that the required classes are available. 
    $user->LoadService('ReportDefinitionService', ADWORDS_VERSION); 

    // Create selector. 
    $selector = new Selector(); 
    $selector->fields = array('Date'); 

    // Filter out deleted criteria. 
    $selector->predicates[] = new Predicate('Status', 'NOT_IN', array('DELETED')); 

    // Create report definition. 
    $reportDefinition = new ReportDefinition(); 
    $reportDefinition->selector = $selector; 
    $reportDefinition->reportName = 'Criteria performance report #' . uniqid(); 
    $reportDefinition->dateRangeType = 'YESTERDAY'; 
    $reportDefinition->reportType = 'CLICK_PERFORMANCE_REPORT'; 
    $reportDefinition->downloadFormat = 'CSV'; 

    // Exclude criteria that haven't recieved any impressions over the date range. 
    $reportDefinition->includeZeroImpressions = FALSE; 

    // Set additional options. 
    $options = array('version' => ADWORDS_VERSION, 'returnMoneyInMicros' => TRUE); 

    // Download report. 
    ReportUtils::DownloadReport($reportDefinition, $filePath, $user, $options); 

    printf("Report with name '%s' was downloaded to '%s'.\n", 
     $reportDefinition->reportName, $filePath); 
} 

오류가 나는 표준시 얻을 : "ReportDefinitionError.INVALID_FIELD_NAME_FOR_REPORT을". 동일한 스크립트가 조건 성능 보고서에 문제없이 실행됩니다.

https://developers.google.com/adwords/api/docs/appendix/reports#click

+0

"필자는 예를 들어 날짜 필드 만 선택하고 있습니다." ... 우리에게 예제를 보여주지 말고 정확한 코드를 보여주십시오! 오류는 클릭 실적 보고서에서 사용할 수없는 입력란을 선택하려는 것 같습니다. – Oldskool

+0

이 예제는 테스트하는 예제입니다. 이것이 실제로 사용하고있는 함수입니다. 날짜는 사용 가능한 필드입니다. – almo

답변

0

는 트리거 = '상태'또는 무언가로 그 오류 후 조금 더 정보가 아닙니까? 그러면 오류를 일으키는 열이 무엇인지 알려줍니다.

그렇다면 GetReportFields.php 파일을 실행하여 이름 목록을보고 사용하려는 이름과 일치하는지 확인하십시오.

또한 버전간에 이름이 바뀌므로 표시되는 예는 v201402 버전에서만 작동하는 이름 일 수 있으며 v201309 버전을 사용하려고 시도했을 수 있습니다. 이 문제가 생겼고 새로운 라이브러리를 사용한 후에는 수정되었습니다.

1

문제는 당신의 술어이다 - AS 것은 '상태'필드가없는 "실적 보고서를 클릭"- 그래서 그 조건을 제거 - 그 문제 가능성이 높습니다 - 또한

제거 $ reportDefinition-> includeZeroImpressions = FALSE; 클릭 실적 보고서이므로

이고 날짜 입력란은 세그먼트입니다. 위의 코드가 작동하지 않으면 GclId 등의 속성을 추가하려고 시도하십시오.

이 보고서는 하루 동안 만 실행될 수 있으므로 날짜를 선택하는 것이 바보 같습니다.

희망이 도움이 -

이 필드를보고이 링크를 참조하십시오 - 당신은 다양한 보고서를 실행하려는 경우, 당신은 클릭 이리저리 문서에서

https://developers.google.com/adwords/api/docs/appendix/reports#click

0

매우 유용한 링크를 찾을 수 실적 보고서 (https://developers.google.com/adwords/api/docs/appendix/reports/click-performance-report) :

"참고 :이 보고서는 하루 동안 만 사용할 수 있으며 요청 시간보다 최대 90 일 전에 만 실행할 수 있습니다."

그래서 필터링해야하는 단일 날짜가 암시하기 때문에 날짜 필드를 선택할 수 없다고 생각합니다.

나는 그것이 늦었다는 것을 안다. 아마 앞으로 나아 갔을 것이다. 그러나 아마도 이것은 같은 이슈를 가진 다른 누군가를 도울 것이다.