객체 변경 및 검사

API 구조 가이드의 설명처럼 Google Ads API의 각 최상위 수준 리소스에는 다음을 지원하는 리소스 유형별 서비스가 있습니다.

  • 리소스의 인스턴스 수정
  • 검사할 리소스의 단일 인스턴스 검색

이 가이드에서는 CampaignService를 사용하여 Campaign 객체의 수정 및 검사를 보여주지만 다른 모든 리소스 유형별 서비스에도 동일한 개념이 적용됩니다.

개체 변경

각 리소스 유형별 서비스에는 변경 요청을 허용하는 mutate 메소드가 있습니다. 이 요청은 다음으로 구성됩니다.

  • customerId
  • 작업 모음
  • 변경 가능한 리소스 또는 리소스 이름만 변형 후 반환해야 하는지 여부를 결정하는 응답 콘텐츠 유형 설정

예를 들어 CampaignServiceMutateCampaigns 메서드는 다음으로 구성된 MutateCampaignsRequest를 허용합니다.

  • customerId
  • CampaignOperation 객체의 컬렉션
  • 선호하는 응답 유형을 나타내는 response_content_type 필드.

운영

CampaignOperation와 같은 작업 객체를 사용하면 operation 필드를 설정하여 단일 리소스에 대해 수행할 작업을 지정할 수 있습니다. 이 필드는 유형이 리소스 유형인 다음 속성으로 구성된 oneof field입니다.

create
리소스의 새 인스턴스를 만듭니다.
update
update 리소스의 속성과 일치하도록 리소스를 업데이트합니다. 이 필드가 설정되면 작업의 update_mask도 설정해야 합니다. 이는 업데이트 작업 중에 수정할 속성을 Google Ads API에 알려줍니다. 각 클라이언트 라이브러리에는 클라이언트 라이브러리에 나와 있는 것처럼 update_mask를 생성하는 유틸리티 또는 도우미 메서드가 있습니다.
remove
리소스를 삭제합니다.

operation 필드는 oneof 필드이므로, 단일 작업을 사용하여 여러 객체를 수정할 수는 없습니다. 예를 들어 하나의 캠페인을 만들고 다른 캠페인을 삭제하려면 요청에 CampaignOperation 인스턴스 두 개를 추가합니다. 하나는 create가 설정된 인스턴스이고 다른 하나는 remove가 설정된 인스턴스입니다.

일괄 처리 작업

단일 연산에서는 리소스 1개만 생성, 업데이트 또는 삭제할 수 있지만, 한 개의 뮤추얼 요청에는 여러 개의 연산이 포함될 수 있습니다. 각각 하나의 연산을 포함하는 여러 개의 변형 요청을 전송하는 대신 각 작업을 단일 변형 요청으로 결합해야 합니다.

예를 들어 10개의 캠페인을 만들려면 10개의 CampaignOperation 객체가 포함된 단일 MutateCampaignsRequest를 전송해야 합니다.

응답 변형

응답에서 반환되는 항목은 변경 요청의 response_content_type에서 전송된 항목에 따라 달라집니다. 예를 들어 MUTABLE_RESOURCE가 지정된 경우 응답에는 캠페인의 변경 가능한 필드만 포함됩니다. 그러면 다시 생성할 필요 없이 해당 리소스 객체에서 후속 변경을 수행할 수 있습니다.

오류 변형

특정 뮤테이션 요청의 연산은 요청에 포함된 모든 연산이 성공한 경우에만 Google Ads 계정에 적용됩니다. 일반적인 오류 목록과 해결 방법은 일반적인 오류 가이드를 확인하세요.

get을 사용하여 객체 검사 (지원 중단됨)

객체를 변경하는 것 외에도 각 리소스 유형별 서비스에는 단일 리소스의 모든 속성을 검색하기 위한 get 메서드도 있습니다. 이 메서드는 속성이 resource_name뿐인 get 요청을 수락합니다.

Google Ads API에서 get 메서드를 사용하면 단일 객체의 모든 속성을 쉽게 검색할 수 있습니다. 이는 API를 학습하거나 디버깅 또는 교육 목적으로 개별 객체를 검사하는 데 유용한 도구이지만 처리 또는 보고할 목적으로 객체를 검색하는 데 get 메서드를 사용해서는 안 됩니다. 객체의 특정 속성만 검색하고 성능 측정항목 검색을 지원하며 대규모 결과 집합을 통한 스트리밍을 지원하는 GoogleAdsService를 대신 사용하세요. 앱에서 많은 수의 get 요청을 제출하면 비율 제한이 발생할 수 있습니다.