데이터 세그먼트 활성화 및 비활성화

이 가이드에서는 데이터 세그먼트 중 하나를 활성화하거나 비활성화하는 데 사용할 수 있는 메서드를 설명합니다.

시작하기 전에

계속하기 전에 인증을 설정해야 합니다.

데이터 세그먼트 활성화

데이터 세그먼트 중 하나를 활성화하려면 curators.dataSegments.activate 메서드를 사용합니다. 구매자는 거래 또는 패키지에서 데이터 세그먼트를 타겟팅할 수 있습니다.

다음 예에서는 지정된 데이터 세그먼트를 활성화하는 curators.dataSegments.activate 메서드에 POST 요청을 실행합니다.

REST

요청

curl --request POST \
'https://authorizedbuyersmarketplace.googleapis.com/v1beta/curators/ACCOUNT_ID/dataSegments/test-data-segment-1:activate' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{}' \
--compressed

다음을 바꿉니다.

  • ACCOUNT_ID: 계정 ID
  • ACCESS_TOKEN: 액세스 토큰.

응답

{
  "name": "curators/ACCOUNT_ID/dataSegments/test-data-segment-1",
  "createTime": "2025-08-13T12:14:03.421Z",
  "updateTime": "2025-08-14T19:47:40.253938Z",
  "cpmFee": {
    "currencyCode": "USD",
    "units": "1000000"
  },
  "state": "ACTIVE"
}

자바

/*
 * Copyright (c) 2026 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.
 */

package com.google.api.services.samples.authorizedbuyers.marketplace.v1beta.curators.dataSegments;

import com.google.api.services.authorizedbuyersmarketplace.v1beta.AuthorizedBuyersMarketplace;
import com.google.api.services.authorizedbuyersmarketplace.v1beta.model.ActivateDataSegmentRequest;
import com.google.api.services.authorizedbuyersmarketplace.v1beta.model.DataSegment;
import com.google.api.services.samples.authorizedbuyers.marketplace.v1beta.Utils;
import java.io.IOException;
import java.security.GeneralSecurityException;
import net.sourceforge.argparse4j.ArgumentParsers;
import net.sourceforge.argparse4j.inf.ArgumentParser;
import net.sourceforge.argparse4j.inf.ArgumentParserException;
import net.sourceforge.argparse4j.inf.Namespace;

public class ActivateDataSegment {

  private ActivateDataSegment() {}

  /**
   * Executes the activate operation for a data segment.
   *
   * @param marketplaceClient the initialized Marketplace API client.
   * @param accountId the account ID of the curator account.
   * @param dataSegmentId the resource ID of the data segment to activate.
   * @throws IOException if the API returns an error.
   */
  public static void execute(
      AuthorizedBuyersMarketplace marketplaceClient, Long accountId, String dataSegmentId)
      throws IOException {

    String name = String.format("curators/%d/dataSegments/%s", accountId, dataSegmentId);

    System.out.printf("Activating data segment with name \"%s\".%n", name);

    DataSegment response =
        marketplaceClient
            .curators()
            .dataSegments()
            .activate(name, new ActivateDataSegmentRequest())
            .execute();

    System.out.println("Successfully activated data segment:");
    Utils.jsonPrettyPrint(response);
  }

  /**
   * Creates and configures the ArgumentParser for this sample.
   *
   * @return the configured ArgumentParser.
   */
  private static ArgumentParser createArgumentParser() {
    ArgumentParser parser =
        ArgumentParsers.newFor("ActivateDataSegment")
            .build()
            .defaultHelp(true)
            .description("Activates a specific data segment.");

    // Required arguments.
    parser
        .addArgument("-a", "--account_id")
        .help("The account ID of the curator that created the data segment.")
        .required(true)
        .type(Long.class);
    parser
        .addArgument("-d", "--data_segment_id")
        .help("The resource ID of the data segment to activate.")
        .required(true);

    return parser;
  }

  public static void main(String[] args) {
    ArgumentParser parser = createArgumentParser();
    Namespace parsedArgs = null;
    try {
      parsedArgs = parser.parseArgs(args);
    } catch (ArgumentParserException e) {
      parser.handleError(e);
      System.exit(1);
    }

    AuthorizedBuyersMarketplace client = null;
    try {
      client = Utils.getMarketplaceClient();
    } catch (IOException ex) {
      System.out.printf("Unable to create Marketplace API service:%n%s", ex);
      System.out.println("Did you specify a valid path to a service account key file?");
      System.exit(1);
    } catch (GeneralSecurityException ex) {
      System.out.printf("Unable to establish secure HttpTransport:%n%s", ex);
      System.exit(1);
    }

    Long accountId = parsedArgs.getLong("account_id");
    String dataSegmentId = parsedArgs.getString("data_segment_id");

    try {
      execute(client, accountId, dataSegmentId);
    } catch (Exception e) {
      System.out.printf("Marketplace API returned error response:%n%s", e);
      System.exit(1);
    }
  }
}

데이터 세그먼트 비활성화

데이터 세그먼트 중 하나를 비활성화하려면 curators.dataSegments.deactivate 메서드를 사용합니다.

다음 예에서는 지정된 데이터 세그먼트를 비활성화하는 curators.dataSegments.deactivate 메서드에 POST 요청을 실행합니다.

REST

요청

curl --request POST \
'https://authorizedbuyersmarketplace.googleapis.com/v1beta/curators/ACCOUNT_ID/dataSegments/test-data-segment-1:deactivate' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{}' \
--compressed

응답

{
  "name": "curators/ACCOUNT_ID/dataSegments/test-data-segment-1",
  "createTime": "2025-08-13T12:14:03.421Z",
  "updateTime": "2025-08-14T20:05:51.439110Z",
  "cpmFee": {
    "currencyCode": "USD",
    "units": "1000000"
  },
  "state": "INACTIVE"
}

자바

/*
 * Copyright (c) 2026 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.
 */

package com.google.api.services.samples.authorizedbuyers.marketplace.v1beta.curators.dataSegments;

import com.google.api.services.authorizedbuyersmarketplace.v1beta.AuthorizedBuyersMarketplace;
import com.google.api.services.authorizedbuyersmarketplace.v1beta.model.DataSegment;
import com.google.api.services.authorizedbuyersmarketplace.v1beta.model.DeactivateDataSegmentRequest;
import com.google.api.services.samples.authorizedbuyers.marketplace.v1beta.Utils;
import java.io.IOException;
import java.security.GeneralSecurityException;
import net.sourceforge.argparse4j.ArgumentParsers;
import net.sourceforge.argparse4j.inf.ArgumentParser;
import net.sourceforge.argparse4j.inf.ArgumentParserException;
import net.sourceforge.argparse4j.inf.Namespace;

public class DeactivateDataSegment {

  private DeactivateDataSegment() {}

  /**
   * Executes the deactivate operation for a data segment.
   *
   * @param marketplaceClient the initialized Marketplace API client.
   * @param accountId the account ID of the curator account.
   * @param dataSegmentId the resource ID of the data segment to deactivate.
   * @throws IOException if the API returns an error.
   */
  public static void execute(
      AuthorizedBuyersMarketplace marketplaceClient, Long accountId, String dataSegmentId)
      throws IOException {

    String name = String.format("curators/%d/dataSegments/%s", accountId, dataSegmentId);

    System.out.printf("Deactivating data segment with name \"%s\".%n", name);

    DataSegment response =
        marketplaceClient
            .curators()
            .dataSegments()
            .deactivate(name, new DeactivateDataSegmentRequest())
            .execute();

    System.out.println("Successfully deactivated data segment:");
    Utils.jsonPrettyPrint(response);
  }

  /**
   * Creates and configures the ArgumentParser for this sample.
   *
   * @return the configured ArgumentParser.
   */
  private static ArgumentParser createArgumentParser() {
    ArgumentParser parser =
        ArgumentParsers.newFor("DeactivateDataSegment")
            .build()
            .defaultHelp(true)
            .description("Deactivates a specific data segment.");

    // Required arguments.
    parser
        .addArgument("-a", "--account_id")
        .help("The account ID of the curator that created the data segment.")
        .required(true)
        .type(Long.class);
    parser
        .addArgument("-d", "--data_segment_id")
        .help("The resource ID of the data segment to deactivate.")
        .required(true);

    return parser;
  }

  public static void main(String[] args) {
    ArgumentParser parser = createArgumentParser();
    Namespace parsedArgs = null;
    try {
      parsedArgs = parser.parseArgs(args);
    } catch (ArgumentParserException e) {
      parser.handleError(e);
      System.exit(1);
    }

    AuthorizedBuyersMarketplace client = null;
    try {
      client = Utils.getMarketplaceClient();
    } catch (IOException ex) {
      System.out.printf("Unable to create Marketplace API service:%n%s", ex);
      System.out.println("Did you specify a valid path to a service account key file?");
      System.exit(1);
    } catch (GeneralSecurityException ex) {
      System.out.printf("Unable to establish secure HttpTransport:%n%s", ex);
      System.exit(1);
    }

    Long accountId = parsedArgs.getLong("account_id");
    String dataSegmentId = parsedArgs.getString("data_segment_id");

    try {
      execute(client, accountId, dataSegmentId);
    } catch (Exception e) {
      System.out.printf("Marketplace API returned error response:%n%s", e);
      System.exit(1);
    }
  }
}

다음 단계