เริ่มต้นใช้งาน

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 แยกต่างหาก

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

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

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

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

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

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

  2. เปิดหน้าข้อมูลเข้าสู่ระบบในคอนโซล API
  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 เวอร์ชันล่าสุดสําหรับ .NET ขอแนะนําให้ใช้ NuGet เพื่อจัดการการติดตั้ง

เปิดคอนโซล Nuget Package Manager และเรียกใช้คําสั่งต่อไปนี้:

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 require google/apiclient

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

composer update google/apiclient

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

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

Python

ติดตั้งไลบรารีของไคลเอ็นต์ Campaign Manager 360 เวอร์ชันล่าสุดสําหรับ 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 สํารวจแบบฝัง ซึ่งคุณสามารถใช้เพื่อส่งคําขอการทดสอบจากเบราว์เซอร์ได้โดยตรง

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

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