Google API

src/Google/Ads/GoogleAds/vX のソースコード Google Ads API PHP クライアント ライブラリのディレクトリ。X は Google Ads API (生成された API クライアント)を使用して自動的に生成されます。 生成ツール 公開済み プロトコル ファイル

生成されたソースコードは、変更後にそのソースコードにトレイトと Google Ads API と連携するサービス クライアントの作成に必要なクラスを GoogleAdsClient クラスは、次の呼び出しによって作成されます。 GoogleAdsClientBuilder::build()GoogleAdsClientGoogleAdsClientBuilder は、次の場所にある手動で作成されたクラスです。 src/Google/Ads/GoogleAds/Lib/vX/

GAPIC v2 ソースコード

バージョン v20.1.0 以降、クライアント ライブラリは GAPIC ソースコードの新しいバージョンも リクエスト オブジェクトをサービスに渡すことができる src/Google/Ads/GoogleAds/vX クライアントのあります。この新しいバージョンは GAPIC v2 と呼ばれ、 説明します。以前の GAPIC ソースコードである GAPIC v1 は、 生成され、2023 年末まで各リリースに含まれています。

Google Ads API PHP クライアント ライブラリでは、リンク先のバージョンを選択できます 構成設定を使用する GoogleAdsClient useGapicV2Source。「 trueすると、クライアント ライブラリはGoogleAdsClient GAPIC v2 サービス クライアント。

生成されたクラスの場所

GAPIC バージョンごとのファイルの場所の違いは次のとおりです。 2 つのクラスタイプがあります。

GAPIC で生成されたクライアントと関連ファイル GAPIC v1
src/Google/Ads/GoogleAds/VX/Services/Gapic/
GAPIC v2: なし。後処理ファイルのみが生成されます。
後処理されたクライアント GAPIC v1
src/Google/Ads/GoogleAds/VX/Services/
GAPIC v2
src/Google/Ads/GoogleAds/VX/Services/Client/

用途

GAPIC v1 では、各リクエスト パラメータをメソッドに直接渡す必要があります。 一方、GAPIC v2 では、代わりにリクエスト オブジェクトを渡す必要があります。なお、 場合によっては、GAPIC 以降の複数の方法でリクエスト オブジェクトを作成する方法があります。 v2 では、required を渡すための build() という名前の便利なメソッドも生成されます。 あります。

例 1.1: 必須パラメータを持つメソッド

次のサンプルコードは、GAPIC での CampaignService::mutate() の呼び出しを比較したものです。 比較します。すべてのパラメータ($customerId$operations)は 必須パラメータであるため、両方のパラメータを受け入れる build() が生成される GAPIC v2 コード内で指定します。

パターン 1 GAPIC v1
$campaignServiceClient
    = $googleAdsClient->getCampaignServiceClient();
$response = $campaignServiceClient->mutateCampaigns(
    $customerId,
    $campaignOperations
);
      
GAPIC v2
$campaignServiceClient
    = $googleAdsClient->getCampaignServiceClient();
$response = $campaignServiceClient->mutateCampaigns(
    MutateCampaignsRequest::build(
      $customerId,
      $campaignOperations
    )
);
      
パターン 2 GAPIC v1
N/A
GAPIC v2
$campaignServiceClient
    = $googleAdsClient->getCampaignServiceClient();
$request = (new MutateCampaignsRequest())
    ->setCustomerId($customerId)
    ->setCampaignOperations($campaignOperations);
$response = $campaignServiceClient->mutateCampaigns($request);
      

例 1.2: 必須パラメータとオプション パラメータを持つメソッド

次のサンプルコードは、GoogleAdsServiceClient::search() の呼び出しを比較したものです。 GAPIC v1 と v2この例では、GAPIC で生成された build() v2 ソースコードでは 2 つのパラメータ($customerId$query)のみを受け入れます。これは、 必須パラメータです一致する結果の合計数をリクエストするには、 LIMIT 句を無視したクエリを作成するには、 setReturnTotalResultsCount()。または、すべてのパラメータを渡すことで、 パターン 3 に示すように、SearchGoogleAdsRequest のコンストラクタに追加できます。

パターン 1 GAPIC v1
$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$response = $googleAdsServiceClient->search(
    $customerId,
    $query,
    ['returnTotalResultsCount' => true]
);
      
GAPIC v2
$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$response = $googleAdsServiceClient->search(
    SearchGoogleAdsRequest::build($customerId, $query)
        ->setReturnTotalResultsCount(true)
);
      
パターン 2 GAPIC v1
N/A
GAPIC v2
$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest())
    ->setCustomerId($customerId)
    ->setQuery($query)
    ->setReturnTotalResultsCount(true);
$response = $googleAdsServiceClient->search($request);
      
パターン 3 GAPIC v1
N/A
GAPIC v2
$googleAdsServiceClient
    = $googleAdsClient->getGoogleAdsServiceClient();
$request = (new SearchGoogleAdsRequest([
    'customer_id' => $customerId,
    'query' => $query,
    'return_total_results_count' => true
]);
$response = $googleAdsServiceClient->search($request);
      

例 2: オプション パラメータのみを含むメソッド

GeoTargetConstantServiceClient::suggestGeoTargetConstants() の通話機能の比較 GAPIC v1 と v2すべてのパラメータが GeoTargetConstantServiceClient::suggestGeoTargetConstants() は省略可能です。 この場合、GAPIC v2 ソースコードでは build() は生成されません。 リクエスト オブジェクトを自分で作成する必要があります。

パターン 1 GAPIC v1
$geoTargetConstantServiceClient =
    $googleAdsClient->getGeoTargetConstantServiceClient();
$response = $geoTargetConstantServiceClient->suggestGeoTargetConstants([
    'locale' => $locale,
    'countryCode' => $countryCode,
    'locationNames' => new LocationNames(['names' => $locationNames])
]);
      
GAPIC v2
$geoTargetConstantServiceClient =
    $googleAdsClient->getGeoTargetConstantServiceClient();
$request = (new SuggestGeoTargetConstantsRequest())
    ->setLocale($locale)
    ->setCountryCode($countryCode)
    ->setLocationNames(new LocationNames(['names' => $locationNames]));
$response =
    $geoTargetConstantServiceClient->suggestGeoTargetConstants($request);
      
パターン 2 GAPIC v1
N/A
GAPIC v2
$geoTargetConstantServiceClient =
    $googleAdsClient->getGeoTargetConstantServiceClient();
$response = $geoTargetConstantServiceClient->suggestGeoTargetConstants(
    new SuggestGeoTargetConstantsRequest([
        'locale' => $locale,
        'country_code' => $countryCode,
        'location_names' => new LocationNames(['names' => $locationNames])
    ])
);