เริ่มใช้งาน

Campaign Manager 360 API ให้สิทธิ์เข้าถึงข้อมูลจากบัญชี Campaign Manager 360 แบบเป็นโปรแกรม ซึ่งใช้เพื่อจัดการและสร้างแคมเปญและรายงาน เช่นเดียวกับที่คุณทําผ่านเว็บเซอร์วิสของ Campaign Manager 360 และเครื่องมือสร้างรายงาน

คู่มือนี้จะอธิบายวิธีเริ่มต้นใช้งาน Campaign Manager 360 API

ข้อกำหนดเบื้องต้น

คุณต้องทําตามขั้นตอนเบื้องต้นบางอย่างก่อนจึงจะใช้ Campaign Manager 360 API ได้

  1. คุณต้องมีบัญชี Campaign Manager 360 ดูข้อมูลการลงชื่อสมัครใช้สำหรับผู้ลงโฆษณา/เอเจนซี

  2. บัญชี Campaign Manager 360 ต้องเปิดใช้การเข้าถึง API บัญชีส่วนใหญ่เปิดใช้การตั้งค่านี้โดยค่าเริ่มต้น หากไม่แน่ใจ โปรดติดต่อตัวแทนฝ่ายดูแลลูกค้าหรือทีมสนับสนุนของ Campaign Manager 360 เพื่อขอความช่วยเหลือ

  3. คุณต้องมีโปรไฟล์ผู้ใช้ที่มีสิทธิ์เข้าถึงบัญชีนี้ ขอให้ผู้ดูแลระบบบัญชี Campaign Manager 360 สร้างโปรไฟล์ผู้ใช้ที่เชื่อมโยงกับบัญชีนี้

  4. ตรวจสอบสิทธิ์ของโปรไฟล์ผู้ใช้ใน UI ของ Campaign Manager 360 ซึ่งควบคุมสิ่งที่โปรไฟล์ผู้ใช้เข้าถึงได้จาก API โดยไม่มีสิทธิ์ API แยกต่างหาก

สร้างโปรเจ็กต์

หากต้องการเริ่มต้นใช้งาน Campaign Manager 360 API ก่อนอื่นคุณต้องสร้างหรือเลือกโปรเจ็กต์ในคอนโซล Google API และเปิดใช้ API การใช้ลิงก์นี้จะแนะนำคุณตลอดกระบวนการและเปิดใช้งาน Campaign Manager 360 API โดยอัตโนมัติ

สร้างข้อมูลเข้าสู่ระบบ

คำขอทั้งหมดที่คุณส่งไปยัง Campaign Manager 360 API ต้องได้รับอนุญาต อ่านภาพรวมคร่าวๆ เกี่ยวกับการให้สิทธิ์ได้ที่หัวข้อวิธีให้สิทธิ์และระบุแอปพลิเคชันของคุณกับ Google

วิธีการต่อไปนี้จะช่วยแนะนำขั้นตอนการสร้างรหัสไคลเอ็นต์ OAuth 2.0 เพื่อใช้กับขั้นตอนการส่งผ่านข้อมูลแอปพลิเคชันที่ติดตั้ง ดูวิธีการสร้างข้อมูลเข้าสู่ระบบเพื่อใช้กับขั้นตอนของบัญชีบริการได้ที่คู่มือบัญชีบริการ

  1. ทําตามขั้นตอนเพื่อกําหนดค่าโปรเจ็กต์คอนโซล Google API

  2. เปิดหน้าข้อมูลเข้าสู่ระบบใน API Console
  3. คลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth

    1. หากก่อนหน้านี้คุณยังไม่ได้กําหนดค่าหน้าจอคํายินยอม OAuth สําหรับโปรเจ็กต์นี้ ระบบจะนําคุณไปยังส่วนดังกล่าว คลิกกำหนดค่าหน้าจอขอความยินยอม

    2. เลือกประเภทผู้ใช้ แล้วคลิกสร้าง

    3. กรอกแบบฟอร์มเริ่มต้น คุณแก้ไขข้อมูลนี้ได้ในภายหลังหากจำเป็น คลิกบันทึกเมื่อเสร็จแล้ว

    4. กลับไปที่ข้อมูลเข้าสู่ระบบ > สร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth เพื่อดำเนินการต่อ

  4. เลือกแอปเดสก์ท็อปเป็นประเภทแอปพลิเคชัน ตั้งชื่อแอป แล้วคลิกสร้าง

เมื่อดำเนินการเสร็จแล้ว คุณจะเห็นรหัสไคลเอ็นต์ OAuth 2.0 และรหัสลับไคลเอ็นต์ ซึ่งคุณสามารถดาวน์โหลดในรูปแบบ JSON และบันทึกไว้ใช้ภายหลังได้

ติดตั้งไลบรารีของไคลเอ็นต์

Campaign Manager 360 API สร้างขึ้นในรูปแบบ HTTP และ JSON ไคลเอ็นต์ HTTP มาตรฐานต่างๆ จึงส่งคำขอไปยัง API นี้และแยกวิเคราะห์การตอบกลับได้

อย่างไรก็ตาม ไลบรารีของไคลเอ็นต์ Google API มีการผสานรวมภาษาที่ดีกว่า ความปลอดภัยที่ดียิ่งขึ้น และการรองรับการเรียกที่มีสิทธิ์ ไลบรารีของไคลเอ็นต์พร้อมให้บริการเป็นภาษาโปรแกรมต่างๆ เมื่อใช้งานไลบรารีเหล่านี้ คุณจะไม่ต้องตั้งค่าคำขอ HTTP และแยกวิเคราะห์การตอบกลับด้วยตนเอง

เลือกภาษาโปรแกรมที่คุณใช้ในการพัฒนาซอฟต์แวร์เพื่อเริ่มต้นใช้งาน

C#

ติดตั้งไลบรารีของไคลเอ็นต์ Campaign Manager 360 API สำหรับ .NET ล่าสุด เราขอแนะนําให้ใช้ NuGet เพื่อจัดการการติดตั้ง

เปิดคอนโซลเครื่องมือจัดการแพ็กเกจ NuGet แล้วเรียกใช้คำสั่งต่อไปนี้

Install-Package Google.Apis.Dfareporting.v3_4

ดูข้อมูลเพิ่มเติม

Java

ติดตั้งไลบรารีของไคลเอ็นต์ Campaign Manager 360 API ล่าสุดสําหรับ Java เราขอแนะนำให้ใช้ Maven เพื่อจัดการการติดตั้ง

เพิ่มการพึ่งพาต่อไปนี้ลงในไฟล์ pom.xml

<dependency>
  <groupId>com.google.apis</groupId>
  <artifactId>google-api-services-dfareporting</artifactId>
  <version>v4-rev20220611-1.32.1</version>
  <exclusions>
    <exclusion>
      <groupId>com.google.guava</groupId>
      <artifactId>guava-jdk5</artifactId>
    </exclusion>
  </exclusions>
</dependency>

ดูข้อมูลเพิ่มเติม

PHP

ติดตั้งไลบรารีของไคลเอ็นต์ Campaign Manager 360 API ล่าสุดสำหรับ PHP เราขอแนะนำให้ใช้ Composer เพื่อจัดการการติดตั้ง

เปิดเทอร์มินัลแล้วเรียกใช้คำสั่งต่อไปนี้

composer require google/apiclient

หากคุณติดตั้งไลบรารีแล้วและต้องการอัปเดตเป็นเวอร์ชันล่าสุด ให้ทำดังนี้

composer update google/apiclient

อาจต้องเพิ่ม sudo ไว้หน้าคำสั่งเหล่านี้ ทั้งนี้ขึ้นอยู่กับระบบของคุณ

ดูข้อมูลเพิ่มเติม

Python

ติดตั้งไลบรารีของไคลเอ็นต์ Campaign Manager 360 API สำหรับ Python เวอร์ชันล่าสุด เราขอแนะนำให้ใช้ pip เพื่อจัดการการติดตั้ง

เปิดเทอร์มินัลแล้วเรียกใช้คำสั่งต่อไปนี้

pip install --upgrade google-api-python-client

อาจต้องเพิ่ม sudo ไว้หน้าคำสั่งเหล่านี้ ทั้งนี้ขึ้นอยู่กับระบบของคุณ

ดูข้อมูลเพิ่มเติม

Ruby

ติดตั้งไลบรารีของไคลเอ็นต์ Campaign Manager 360 API สําหรับ Ruby เวอร์ชันล่าสุด เราขอแนะนำให้ใช้ RubyGems เพื่อจัดการการติดตั้ง

เปิดเทอร์มินัลแล้วเรียกใช้คำสั่งต่อไปนี้

gem install google-api-client

หากคุณติดตั้งไลบรารีแล้วและต้องการอัปเดตเป็นเวอร์ชันล่าสุด ให้ทำดังนี้

gem update -y google-api-client

อาจต้องเพิ่ม sudo ไว้หน้าคำสั่งเหล่านี้ ทั้งนี้ขึ้นอยู่กับระบบของคุณ

ดูข้อมูลเพิ่มเติม

ดูภาษาอื่นๆ ที่รองรับได้ในหน้าไลบรารีของไคลเอ็นต์

ส่งคำขอ

เมื่อสร้างข้อมูลเข้าสู่ระบบ OAuth 2.0 และติดตั้งไลบรารีของไคลเอ็นต์แล้ว คุณก็พร้อมที่จะเริ่มใช้ Campaign Manager 360 API ดูวิธีให้สิทธิ์ กําหนดค่าไคลเอ็นต์ และส่งคําขอแรกโดยทําตามการเริ่มต้นใช้งานด่วนด้านล่าง

C#

  1. โหลดไฟล์รหัสลับไคลเอ็นต์และสร้างข้อมูลเข้าสู่ระบบการให้สิทธิ์

    เมื่อทำขั้นตอนนี้เป็นครั้งแรก ระบบจะขอให้คุณยอมรับข้อความแจ้งการให้สิทธิ์ในเบราว์เซอร์ ก่อนที่จะยอมรับ โปรดตรวจสอบว่าคุณได้เข้าสู่ระบบด้วยบัญชี Google ที่มีสิทธิ์เข้าถึง Campaign Manager 360 แอปพลิเคชันของคุณจะได้รับสิทธิ์เข้าถึงข้อมูลในนามของบัญชีที่เข้าสู่ระบบอยู่ในขณะนี้

    // Load client secrets from the specified JSON file.
    GoogleClientSecrets clientSecrets;
    using(Stream json = new FileStream(pathToJsonFile, FileMode.Open, FileAccess.Read)) {
      clientSecrets = GoogleClientSecrets.Load(json);
    }
    
    // Create an asynchronous authorization task.
    //
    // Note: providing a data store allows auth credentials to be cached, so they survive multiple
    // runs of the application. This avoids prompting the user for authorization every time the
    // access token expires, by remembering the refresh token. The "user" value is used to
    // identify a specific set of credentials within the data store. You may provide different
    // values here to persist credentials for multiple users to the same data store.
    Task<UserCredential> authorizationTask = GoogleWebAuthorizationBroker.AuthorizeAsync(
        clientSecrets.Secrets,
        OAuthScopes,
        "user",
        CancellationToken.None,
        dataStore);
    
    // Authorize and persist credentials to the data store.
    UserCredential credential = authorizationTask.Result;
  2. สร้างไคลเอ็นต์ Dfareporting ที่มีสิทธิ์

    // Create a Dfareporting service object.
    //
    // Note: application name should be replaced with a value that identifies your application.
    service = new DfareportingService(
        new BaseClientService.Initializer {
          HttpClientInitializer = credential,
          ApplicationName = "C# installed app sample"
        }
    );
  3. ดําเนินการ

    // Retrieve and print all user profiles for the current authorized user.
    UserProfileList profiles = service.UserProfiles.List().Execute();
    
    foreach (UserProfile profile in profiles.Items) {
      Console.WriteLine("Found user profile with ID {0} and name \"{1}\".",
          profile.ProfileId, profile.UserName);
    }

Java

  1. โหลดไฟล์รหัสลับไคลเอ็นต์และสร้างข้อมูลเข้าสู่ระบบการให้สิทธิ์

    เมื่อทำขั้นตอนนี้เป็นครั้งแรก ระบบจะขอให้คุณยอมรับข้อความแจ้งการให้สิทธิ์ในเบราว์เซอร์ ก่อนที่จะยอมรับ โปรดตรวจสอบว่าคุณได้เข้าสู่ระบบด้วยบัญชี Google ที่มีสิทธิ์เข้าถึง Campaign Manager 360 แอปพลิเคชันของคุณจะได้รับสิทธิ์เข้าถึงข้อมูลในนามของบัญชีที่เข้าสู่ระบบอยู่ในขณะนี้

    // Load the client secrets JSON file.
    GoogleClientSecrets clientSecrets =
        GoogleClientSecrets.load(
            jsonFactory, Files.newBufferedReader(Paths.get(pathToClientSecretsFile), UTF_8));
    
    // Set up the authorization code flow.
    //
    // Note: providing a DataStoreFactory allows auth credentials to be cached, so they survive
    // multiple runs of the program. This avoids prompting the user for authorization every time the
    // access token expires, by remembering the refresh token.
    GoogleAuthorizationCodeFlow flow =
        new GoogleAuthorizationCodeFlow.Builder(
                httpTransport, jsonFactory, clientSecrets, OAUTH_SCOPES)
            .setDataStoreFactory(dataStoreFactory)
            .build();
    
    // Authorize and persist credentials to the data store.
    //
    // Note: the "user" value below is used to identify a specific set of credentials in the data
    // store. You may provide different values here to persist credentials for multiple users to
    // the same data store.
    Credential credential =
        new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
  2. สร้างไคลเอ็นต์ Dfareporting ที่มีสิทธิ์

    // Create a Dfareporting client instance.
    //
    // Note: application name below should be replaced with a value that identifies your
    // application. Suggested format is "MyCompany-ProductName/Version.MinorVersion".
    Dfareporting reporting =
        new Dfareporting.Builder(credential.getTransport(), credential.getJsonFactory(), credential)
            .setApplicationName("dfareporting-java-installed-app-sample")
            .build();
  3. ดําเนินการ

    // Retrieve and print all user profiles for the current authorized user.
    UserProfileList profiles = reporting.userProfiles().list().execute();
    for (int i = 0; i < profiles.getItems().size(); i++) {
      System.out.printf("%d) %s%n", i + 1, profiles.getItems().get(i).getUserName());
    }

PHP

  1. โหลดไฟล์รหัสลับไคลเอ็นต์และสร้างข้อมูลเข้าสู่ระบบการให้สิทธิ์

    เมื่อทำขั้นตอนนี้เป็นครั้งแรก ระบบจะขอให้คุณยอมรับข้อความแจ้งการให้สิทธิ์ในเบราว์เซอร์ ก่อนที่จะยอมรับ โปรดตรวจสอบว่าคุณได้เข้าสู่ระบบด้วยบัญชี Google ที่มีสิทธิ์เข้าถึง Campaign Manager 360 แอปพลิเคชันของคุณจะได้รับสิทธิ์เข้าถึงข้อมูลในนามของบัญชีที่เข้าสู่ระบบอยู่ในขณะนี้

    // Create a Google_Client instance.
    //
    // Note: application name should be replaced with a value that identifies
    // your application. Suggested format is "MyCompany-ProductName".
    $client = new Google_Client();
    $client->setAccessType('offline');
    $client->setApplicationName('PHP installed app sample');
    $client->setRedirectUri(self::OAUTH_REDIRECT_URI);
    $client->setScopes(self::$OAUTH_SCOPES);
    
    // Load the client secrets file.
    $client->setAuthConfig($pathToJsonFile);
    
    // Try to load cached credentials from the token store. Using a token store
    // allows auth credentials to be cached, so they survive multiple runs of
    // the application. This avoids prompting the user for authorization every
    // time the access token expires, by remembering the refresh token.
    if (file_exists($tokenStore) && filesize($tokenStore) > 0) {
        $client->setAccessToken(file_get_contents($tokenStore));
    } else {
        // If no cached credentials were found, authorize and persist
        // credentials to the token store.
        print 'Open this URL in your browser and authorize the application.';
        printf("\n\n%s\n\n", $client->createAuthUrl());
        print 'Enter the authorization code: ';
        $code = trim(fgets(STDIN));
        $client->authenticate($code);
    
        file_put_contents($tokenStore, json_encode($client->getAccessToken()));
    }
  2. สร้างไคลเอ็นต์ Dfareporting ที่มีสิทธิ์

    // Create a Dfareporting service object.
    $service = new Google_Service_Dfareporting($client);
  3. ดําเนินการ

    // Retrieve and print all user profiles for the current authorized user.
    $result = $service->userProfiles->listUserProfiles();
    foreach ($result['items'] as $userProfile) {
        printf(
            "User profile \"%s\" (ID: %d) found for account %d.\n",
            $userProfile->getUserName(),
            $userProfile->getProfileId(),
            $userProfile->getAccountId()
        );
    }

Python

  1. โหลดไฟล์รหัสลับไคลเอ็นต์และสร้างข้อมูลเข้าสู่ระบบการให้สิทธิ์

    เมื่อทำขั้นตอนนี้เป็นครั้งแรก ระบบจะขอให้คุณยอมรับข้อความแจ้งการให้สิทธิ์ในเบราว์เซอร์ ก่อนที่จะยอมรับ โปรดตรวจสอบว่าคุณได้เข้าสู่ระบบด้วยบัญชี Google ที่มีสิทธิ์เข้าถึง Campaign Manager 360 แอปพลิเคชันของคุณจะได้รับสิทธิ์เข้าถึงข้อมูลในนามของบัญชีที่เข้าสู่ระบบอยู่ในขณะนี้

    # Set up a Flow object to be used if we need to authenticate.
    flow = client.flow_from_clientsecrets(
        path_to_client_secrets_file, scope=OAUTH_SCOPES)
    
    # Check whether credentials exist in the credential store. Using a credential
    # store allows auth credentials to be cached, so they survive multiple runs
    # of the application. This avoids prompting the user for authorization every
    # time the access token expires, by remembering the refresh token.
    storage = Storage(CREDENTIAL_STORE_FILE)
    credentials = storage.get()
    
    # If no credentials were found, go through the authorization process and
    # persist credentials to the credential store.
    if credentials is None or credentials.invalid:
      credentials = tools.run_flow(flow, storage,
                                   tools.argparser.parse_known_args()[0])
    
    # Use the credentials to authorize an httplib2.Http instance.
    http = credentials.authorize(httplib2.Http())
  2. สร้างไคลเอ็นต์ Dfareporting ที่มีสิทธิ์

    # Construct a service object via the discovery service.
    service = discovery.build('dfareporting', 'v4', http=http)
  3. ดําเนินการ

    # Construct the request.
    request = service.userProfiles().list()
    
    # Execute request and print response.
    response = request.execute()
    
    for profile in response['items']:
      print('Found user profile with ID %s and user name "%s".' %
            (profile['profileId'], profile['userName']))

Ruby

  1. โหลดไฟล์รหัสลับไคลเอ็นต์และสร้างข้อมูลเข้าสู่ระบบการให้สิทธิ์

    เมื่อทำขั้นตอนนี้เป็นครั้งแรก ระบบจะขอให้คุณยอมรับข้อความแจ้งการให้สิทธิ์ในเบราว์เซอร์ ก่อนที่จะยอมรับ โปรดตรวจสอบว่าคุณได้เข้าสู่ระบบด้วยบัญชี Google ที่มีสิทธิ์เข้าถึง Campaign Manager 360 แอปพลิเคชันของคุณจะได้รับสิทธิ์เข้าถึงข้อมูลในนามของบัญชีที่เข้าสู่ระบบอยู่ในขณะนี้

    # Load client ID from the specified file.
    client_id = Google::Auth::ClientId.from_file(path_to_json_file)
    
    # Set up the user authorizer.
    #
    # Note: providing a token store allows auth credentials to be cached, so they
    # survive multiple runs of the application. This avoids prompting the user for
    # authorization every time the access token expires, by remembering the
    # refresh token.
    authorizer = Google::Auth::UserAuthorizer.new(
      client_id, [API_NAMESPACE::AUTH_DFAREPORTING], token_store
    )
    
    # Authorize and persist credentials to the data store.
    #
    # Note: the 'user' value below is used to identify a specific set of
    # credentials in the token store. You may provide different values here to
    # persist credentials for multiple users to the same token store.
    authorization = authorizer.get_credentials('user')
    if authorization.nil?
      puts format(
        "Open this URL in your browser and authorize the application.\n\n%s" \
        "\n\nEnter the authorization code:",
        authorizer.get_authorization_url(base_url: OAUTH_REDIRECT_URI)
      )
      code = STDIN.gets.chomp
      authorization = authorizer.get_and_store_credentials_from_code(
        base_url: OAUTH_REDIRECT_URI, code: code, user_id: 'user'
      )
    end
  2. สร้างไคลเอ็นต์ Dfareporting ที่มีสิทธิ์

    # Create a Dfareporting service object.
    #
    # Note: application name should be replaced with a value that identifies
    # your application. Suggested format is "MyCompany-ProductName".
    service = API_NAMESPACE::DfareportingService.new
    service.authorization = authorization
    service.client_options.application_name = 'Ruby installed app sample'
    service.client_options.application_version = '1.0.0'
  3. ดําเนินการ

    // Retrieve and print all user profiles for the current authorized user.
    UserProfileList profiles = service.UserProfiles.List().Execute();
    
    foreach (UserProfile profile in profiles.Items) {
      Console.WriteLine("Found user profile with ID {0} and name \"{1}\".",
          profile.ProfileId, profile.UserName);
    }

ดูข้อมูลเพิ่มเติม

ไปที่ข้อมูลอ้างอิง API เพื่อดูข้อมูลเกี่ยวกับบริการทั้งหมดที่ API มีให้ หน้ารายละเอียดของเมธอดแต่ละหน้าจะมี API Explorer ฝังอยู่ ซึ่งคุณใช้เพื่อส่งคำขอทดสอบจากเบราว์เซอร์ได้โดยตรง

อ่านคู่มืออื่นๆ ของเราซึ่งครอบคลุมหัวข้อขั้นสูงและแสดงตัวอย่างแบบครบวงจรสำหรับงานทั่วไป

เมื่อพร้อมเริ่มเขียนโค้ดแล้ว โปรดสํารวจคอลเล็กชันโค้ดตัวอย่างที่ครอบคลุมของเรา ซึ่งสามารถแก้ไขและขยายให้เหมาะกับความต้องการของคุณได้