Campaign Manager 360 API cung cấp quyền truy cập theo chương trình vào thông tin trong tài khoản Campaign Manager 360 của bạn. API này được dùng để quản lý và tạo chiến dịch cũng như báo cáo, giống như cách bạn thực hiện thông qua các dịch vụ web Campaign Manager 360 và Trình tạo báo cáo.
Hướng dẫn này mô tả cách bắt đầu sử dụng Campaign Manager 360 API.
Điều kiện tiên quyết
Trước khi sử dụng Campaign Manager 360 API, bạn cần phải đáp ứng một số bước bắt buộc sau:
Bạn phải có tài khoản Campaign Manager 360. Hãy xem phần Nhà quảng cáo/Công ty quảng cáo để biết thông tin đăng ký.
Tài khoản Campaign Manager 360 của bạn phải được bật Quyền truy cập vào API. Hầu hết các tài khoản đều bật tính năng này theo mặc định; nếu bạn không chắc chắn, hãy liên hệ với người đại diện tài khoản của bạn hoặc nhóm hỗ trợ Campaign Manager 360 để được trợ giúp.
Bạn phải có một hồ sơ người dùng có quyền truy cập vào tài khoản này. Yêu cầu quản trị viên tài khoản Campaign Manager 360 tạo một hồ sơ người dùng được liên kết với tài khoản này.
Kiểm tra quyền của hồ sơ người dùng trong giao diện người dùng Campaign Manager 360. Các chế độ kiểm soát này quy định những nội dung mà hồ sơ người dùng có thể truy cập thông qua API. Không có quyền API riêng biệt.
Tạo dự án
Để bắt đầu sử dụng Campaign Manager 360 API, trước tiên bạn cần tạo hoặc chọn một dự án trong Google API Console rồi bật API. Việc sử dụng đường liên kết này sẽ hướng dẫn bạn thực hiện quy trình và tự động kích hoạt Campaign Manager 360 API.
Tạo thông tin xác thực
Bạn phải được phép thực hiện mọi yêu cầu gửi đến Campaign Manager 360 API. Để biết thông tin tổng quan ngắn gọn về quy trình uỷ quyền, hãy đọc về cách uỷ quyền và xác định ứng dụng của bạn cho Google.
Các hướng dẫn sau đây sẽ hướng dẫn bạn quy trình tạo mã ứng dụng khách OAuth 2.0 để sử dụng với quy trình ứng dụng đã cài đặt. Để biết hướng dẫn về cách tạo thông tin đăng nhập để sử dụng với quy trình tài khoản dịch vụ, hãy tham khảo hướng dẫn về Tài khoản dịch vụ.
Làm theo các bước để định cấu hình dự án Google API Console.
- Mở trang Thông tin xác thực trong API Console.
Nhấp vào TẠO THÔNG TIN XÁC THỰC > Mã ứng dụng OAuth.
Nếu trước đây chưa định cấu hình màn hình xin phép bằng OAuth cho dự án này, thì bạn sẽ được hướng dẫn thực hiện ngay bây giờ. Nhấp vào ĐỊNH CẤU HÌNH MÀN HÌNH YÊU CẦU SỰ ĐỒNG Ý.
Chọn loại người dùng rồi nhấp vào TẠO.
Điền vào biểu mẫu ban đầu. Bạn có thể chỉnh sửa thông tin này sau nếu cần. Nhấp vào Lưu khi hoàn tất.
Chuyển lại đến phần Thông tin xác thực > TẠO THÔNG TIN XÁC THỰC > Mã ứng dụng khách OAuth để tiếp tục.
Chọn Ứng dụng dành cho máy tính làm loại ứng dụng, đặt tên cho ứng dụng đó, rồi nhấp vào Tạo.
Sau khi hoàn tất, bạn sẽ thấy mã ứng dụng OAuth 2.0 và khoá bí mật của ứng dụng. Bạn có thể tải mã này xuống ở định dạng JSON và lưu để sử dụng sau.
Cài đặt thư viện ứng dụng
API Campaign Manager 360 được xây dựng trên HTTP và JSON, do đó, mọi ứng dụng HTTP tiêu chuẩn đều có thể gửi yêu cầu tới API này và phân tích cú pháp các phản hồi.
Tuy nhiên, các thư viện ứng dụng API của Google cung cấp tính năng tích hợp ngôn ngữ tốt hơn, có mức độ bảo mật cao hơn và hỗ trợ thực hiện các yêu cầu được uỷ quyền. Các thư viện ứng dụng được cung cấp bằng một số ngôn ngữ lập trình. Bằng cách sử dụng các thư viện đó, bạn có thể tránh được việc phải thiết lập yêu cầu HTTP và phân tích cú pháp phản hồi theo cách thủ công.
Để bắt đầu, hãy chọn ngôn ngữ lập trình mà bạn đang sử dụng để phát triển.
C#
Cài đặt thư viện ứng dụng Campaign Manager 360 API mới nhất cho .NET. Bạn nên sử dụng NuGet để quản lý quá trình cài đặt.
Mở NuGet Package Manager Console (Bảng điều khiển Trình quản lý gói NuGet) rồi chạy lệnh sau:
Install-Package Google.Apis.Dfareporting.v3_4
Tìm hiểu thêm
Java
Cài đặt thư viện ứng dụng Campaign Manager 360 API mới nhất cho Java. Bạn nên dùng Maven để quản lý quá trình cài đặt.
Thêm phần phụ thuộc sau vào tệp pom.xml:
<dependency> <groupId>com.google.apis</groupId> <artifactId>google-api-services-dfareporting</artifactId> <version>v4-rev20250722-2.0.0</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava-jdk5</artifactId> </exclusion> </exclusions> </dependency>
Tìm hiểu thêm
PHP
Cài đặt thư viện ứng dụng Campaign Manager 360 API mới nhất cho PHP. Bạn nên sử dụng Composer để quản lý quá trình cài đặt.
Mở một cửa sổ dòng lệnh rồi chạy lệnh sau:
composer require google/apiclient
Nếu bạn đã cài đặt thư viện và chỉ muốn cập nhật lên phiên bản mới nhất:
composer update google/apiclient
Tuỳ thuộc vào hệ thống của bạn, bạn có thể cần phải thêm sudo vào phần đầu các lệnh này.
Tìm hiểu thêm
Python
Cài đặt thư viện ứng dụng Campaign Manager 360 API mới nhất cho Python. Bạn nên dùng pip để quản lý hoạt động cài đặt.
Mở một cửa sổ dòng lệnh rồi chạy lệnh sau:
pip install --upgrade google-api-python-client
Tuỳ thuộc vào hệ thống của bạn, bạn có thể cần phải thêm sudo vào phần đầu các lệnh này.
Tìm hiểu thêm
Ruby
Cài đặt thư viện ứng dụng Campaign Manager 360 API mới nhất cho Ruby. Bạn nên sử dụng RubyGems để quản lý quá trình cài đặt.
Mở một cửa sổ dòng lệnh rồi chạy lệnh sau:
gem install google-api-client
Nếu bạn đã cài đặt thư viện và chỉ muốn cập nhật lên phiên bản mới nhất:
gem update -y google-api-client
Tuỳ thuộc vào hệ thống của bạn, bạn có thể cần phải thêm sudo vào phần đầu các lệnh này.
Tìm hiểu thêm
Bạn có thể xem thêm các ngôn ngữ được hỗ trợ trên trang Thư viện ứng dụng.
Tạo yêu cầu
Sau khi tạo thông tin đăng nhập OAuth 2.0 và cài đặt thư viện ứng dụng, bạn đã sẵn sàng bắt đầu sử dụng Campaign Manager 360 API. Tìm hiểu cách uỷ quyền, định cấu hình ứng dụng và đưa ra yêu cầu đầu tiên bằng cách làm theo hướng dẫn bắt đầu nhanh bên dưới.
C#
Tải tệp khoá bí mật của ứng dụng và tạo thông tin xác thực uỷ quyền.
Vào lần đầu tiên thực hiện bước này, bạn sẽ được yêu cầu chấp nhận lời nhắc uỷ quyền trong trình duyệt. Trước khi chấp nhận, hãy đảm bảo bạn đã đăng nhập bằng một Tài khoản Google có quyền truy cập vào Campaign Manager 360. Ứng dụng của bạn sẽ được uỷ quyền truy cập vào dữ liệu thay mặt cho tài khoản hiện đang đăng nhập.
// 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;
Tạo một ứng dụng Dfareporting được uỷ quyền.
// 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" } );
Thực hiện một thao tác.
// 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
Tải tệp khoá bí mật của ứng dụng và tạo thông tin xác thực uỷ quyền.
Vào lần đầu tiên thực hiện bước này, bạn sẽ được yêu cầu chấp nhận lời nhắc uỷ quyền trong trình duyệt. Trước khi chấp nhận, hãy đảm bảo bạn đã đăng nhập bằng một Tài khoản Google có quyền truy cập vào Campaign Manager 360. Ứng dụng của bạn sẽ được uỷ quyền truy cập vào dữ liệu thay mặt cho tài khoản hiện đang đăng nhập.
// 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");
Tạo một ứng dụng Dfareporting được uỷ quyền.
// 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();
Thực hiện một thao tác.
// 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
Tải tệp khoá bí mật của ứng dụng và tạo thông tin xác thực uỷ quyền.
Vào lần đầu tiên thực hiện bước này, bạn sẽ được yêu cầu chấp nhận lời nhắc uỷ quyền trong trình duyệt. Trước khi chấp nhận, hãy đảm bảo bạn đã đăng nhập bằng một Tài khoản Google có quyền truy cập vào Campaign Manager 360. Ứng dụng của bạn sẽ được uỷ quyền truy cập vào dữ liệu thay mặt cho tài khoản hiện đang đăng nhập.
// 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())); }
Tạo một ứng dụng Dfareporting được uỷ quyền.
// Create a Dfareporting service object. $service = new Google_Service_Dfareporting($client);
Thực hiện một thao tác.
// 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
Tải tệp khoá bí mật của ứng dụng và tạo thông tin xác thực uỷ quyền.
Vào lần đầu tiên thực hiện bước này, bạn sẽ được yêu cầu chấp nhận lời nhắc uỷ quyền trong trình duyệt. Trước khi chấp nhận, hãy đảm bảo bạn đã đăng nhập bằng một Tài khoản Google có quyền truy cập vào Campaign Manager 360. Ứng dụng của bạn sẽ được uỷ quyền truy cập vào dữ liệu thay mặt cho tài khoản hiện đang đăng nhập.
# 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())
Tạo một ứng dụng Dfareporting được uỷ quyền.
# Construct a service object via the discovery service. service = discovery.build('dfareporting', 'v4', http=http)
Thực hiện một thao tác.
# 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
Tải tệp khoá bí mật của ứng dụng và tạo thông tin xác thực uỷ quyền.
Vào lần đầu tiên thực hiện bước này, bạn sẽ được yêu cầu chấp nhận lời nhắc uỷ quyền trong trình duyệt. Trước khi chấp nhận, hãy đảm bảo bạn đã đăng nhập bằng một Tài khoản Google có quyền truy cập vào Campaign Manager 360. Ứng dụng của bạn sẽ được uỷ quyền truy cập vào dữ liệu thay mặt cho tài khoản hiện đang đăng nhập.
# 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
Tạo một ứng dụng Dfareporting được uỷ quyền.
# 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'
Thực hiện một thao tác.
// 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); }
Tìm hiểu thêm
Hãy truy cập vào Tài liệu tham khảo API để tìm hiểu về tất cả các dịch vụ mà API này cung cấp. Mỗi trang chi tiết về phương thức đều có một API Explorer được nhúng mà bạn có thể dùng để đưa ra các yêu cầu kiểm thử ngay từ trình duyệt.
Xem các hướng dẫn khác của chúng tôi về các chủ đề nâng cao và cung cấp ví dụ toàn diện cho các tác vụ thường gặp.
Khi đã sẵn sàng bắt đầu viết mã, bạn có thể khám phá bộ sưu tập phong phú gồm mã mẫu của chúng tôi. Bạn có thể sửa đổi và mở rộng bộ sưu tập này cho phù hợp với nhu cầu của mình.