API Менеджера кампаний 360 обеспечивает программный доступ к информации из вашей учетной записи Менеджера кампаний 360. Он используется для управления кампаниями и отчетами и их создания точно так же, как через веб-службы Менеджера кампаний 360 и Редактора отчетов.
В этом руководстве описывается, как начать работу с API Менеджера кампаний 360.
Предпосылки
Прежде чем использовать API Менеджера кампаний 360, необходимо выполнить несколько обязательных шагов:
У вас должен быть аккаунт Менеджера кампаний 360. Информацию о регистрации см. в разделе Рекламодатели/агентства .
В вашей учетной записи Менеджера кампаний 360 должен быть включен доступ к API. В большинстве учетных записей это включено по умолчанию; если вы не уверены, обратитесь за помощью к представителю своего аккаунта или в службу поддержки Менеджера кампаний 360 .
У вас должен быть профиль пользователя с доступом к этой учетной записи. Попросите администратора вашей учетной записи Менеджера кампаний 360 создать профиль пользователя, связанный с этой учетной записью.
Проверьте разрешения профиля пользователя в пользовательском интерфейсе Campaign Manager 360. Они контролируют, к чему профиль пользователя может получить доступ из API. Отдельных разрешений API нет.
Создать проект
Чтобы начать использовать API Менеджера кампаний 360, необходимо сначала создать или выбрать проект в Google API Console и включить API . С помощью этой ссылки вы проведете процесс и автоматически активируете API Менеджера кампаний 360.
Создать учетные данные
Все запросы, которые вы отправляете в API Менеджера кампаний 360, должны быть авторизованы. Чтобы получить краткий обзор авторизации, прочитайте о том, как авторизовать и идентифицировать ваше приложение в Google .
Следующие инструкции помогут вам создать идентификатор клиента OAuth 2.0 для использования с установленным потоком приложения . Инструкции по созданию учетных данных для использования с потоком учетных записей служб см. в руководстве по учетным записям служб .
Следуйте инструкциям по настройке проекта Google API Console .
- Откройте страницу учетных данных в консоли API.
Щелкните СОЗДАТЬ УЧЕТНЫЕ ДАННЫЕ > Идентификатор клиента OAuth .
Если вы ранее не настроили экран согласия OAuth для этого проекта, вам будет предложено сделать это сейчас. Щелкните НАСТРОЙКА ЭКРАНА СОГЛАСИЯ .
Выберите тип пользователя и нажмите СОЗДАТЬ .
Заполните начальную форму. Вы можете отредактировать это позже, если это необходимо. Нажмите Сохранить , когда закончите.
Вернитесь к Credentials > CREATE CREDENTIALS > OAuth client ID , чтобы продолжить.
В качестве типа приложения выберите «Настольное приложение» , дайте ему имя и нажмите «Создать» .
Когда вы закончите, вам будет представлен идентификатор клиента OAuth 2.0 и секрет клиента, которые вы можете загрузить в формате JSON и сохранить для последующего использования.
Установить клиентскую библиотеку
API Менеджера кампаний 360 основан на HTTP и JSON, поэтому любой стандартный HTTP-клиент может отправлять ему запросы и анализировать ответы.
Однако клиентские библиотеки Google API обеспечивают лучшую языковую интеграцию, повышенную безопасность и поддержку авторизованных запросов. Клиентские библиотеки доступны на нескольких языках программирования; используя их, вы можете избежать необходимости вручную настраивать HTTP-запросы и анализировать ответы.
Для начала выберите язык программирования, который вы используете для разработки.
С#
Установите последнюю версию клиентской библиотеки API Менеджера кампаний 360 для .NET . Рекомендуется использовать NuGet для управления установкой.
Откройте консоль диспетчера пакетов NuGet и выполните следующую команду:
Install-Package Google.Apis.Dfareporting.v3_4
Узнать больше
Джава
Установите последнюю клиентскую библиотеку API Менеджера кампаний 360 для 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
Установите последнюю версию клиентской библиотеки API Менеджера кампаний 360 для PHP . Рекомендуется использовать Composer для управления вашей установкой.
Откройте терминал и выполните следующую команду:
composer require google/apiclient
Если вы уже установили библиотеку и просто хотите обновить ее до последней версии:
composer update google/apiclient
В зависимости от вашей системы вам может потребоваться добавить перед этими командами sudo
.
Узнать больше
Питон
Установите последнюю клиентскую библиотеку API Менеджера кампаний 360 для Python . Рекомендуется использовать pip для управления вашей установкой.
Откройте терминал и выполните следующую команду:
pip install --upgrade google-api-python-client
В зависимости от вашей системы вам может потребоваться добавить перед этими командами sudo
.
Узнать больше
Рубин
Установите последнюю клиентскую библиотеку API Менеджера кампаний 360 для Ruby . Рекомендуется использовать RubyGems для управления вашей установкой.
Откройте терминал и выполните следующую команду:
gem install google-api-client
Если вы уже установили библиотеку и просто хотите обновить ее до последней версии:
gem update -y google-api-client
В зависимости от вашей системы вам может потребоваться добавить перед этими командами sudo
.
Узнать больше
Другие поддерживаемые языки можно найти на странице клиентских библиотек .
Обратиться с просьбой
Создав учетные данные OAuth 2.0 и установив клиентскую библиотеку , вы готовы приступить к работе с API Campaign Manager 360. Узнайте, как авторизовать, настроить клиент и сделать первый запрос, следуя приведенному ниже краткому руководству.
С#
Загрузите файл секретов клиента и создайте учетные данные для авторизации.
При первом выполнении этого шага вам будет предложено принять запрос авторизации в вашем браузере. Перед принятием убедитесь, что вы вошли в систему с учетной записью Google, у которой есть доступ к Менеджеру кампаний 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;
Создайте авторизованный клиент 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" } );
Выполните операцию.
// 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); }
Джава
Загрузите файл секретов клиента и создайте учетные данные для авторизации.
При первом выполнении этого шага вам будет предложено принять запрос авторизации в вашем браузере. Перед принятием убедитесь, что вы вошли в систему с учетной записью Google, у которой есть доступ к Менеджеру кампаний 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");
Создайте авторизованный клиент 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();
Выполните операцию.
// 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
Загрузите файл секретов клиента и создайте учетные данные для авторизации.
При первом выполнении этого шага вам будет предложено принять запрос авторизации в вашем браузере. Перед принятием убедитесь, что вы вошли в систему с учетной записью Google, у которой есть доступ к Менеджеру кампаний 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())); }
Создайте авторизованный клиент Dfareporting.
// Create a Dfareporting service object. $service = new Google_Service_Dfareporting($client);
Выполните операцию.
// 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() ); }
питон
Загрузите файл секретов клиента и создайте учетные данные для авторизации.
При первом выполнении этого шага вам будет предложено принять запрос авторизации в вашем браузере. Перед принятием убедитесь, что вы вошли в систему с учетной записью Google, у которой есть доступ к Менеджеру кампаний 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())
Создайте авторизованный клиент Dfareporting.
# Construct a service object via the discovery service. service = discovery.build('dfareporting', 'v4', http=http)
Выполните операцию.
# 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']))
Рубин
Загрузите файл секретов клиента и создайте учетные данные для авторизации.
При первом выполнении этого шага вам будет предложено принять запрос авторизации в вашем браузере. Перед принятием убедитесь, что вы вошли в систему с учетной записью Google, у которой есть доступ к Менеджеру кампаний 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
Создайте авторизованный клиент 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'
Выполните операцию.
// 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, который можно использовать для выполнения тестовых запросов непосредственно из браузера.
Ознакомьтесь с другими нашими руководствами, которые охватывают дополнительные темы и предоставляют сквозные примеры для общих задач.
Когда вы будете готовы приступить к написанию кода, не стесняйтесь изучить нашу обширную коллекцию примеров кода , которые могут быть изменены и расширены в соответствии с вашими потребностями.