Campaign Manager 360 API מספק גישה פרוגרמטית למידע מחשבון Campaign Manager 360. הוא משמש לניהול וליצירה של קמפיינים ודוחות, בדיוק כמו שאפשר לעשות דרך שירותי האינטרנט של Campaign Manager 360 ושל Report Builder.
במדריך הזה מוסבר איך להתחיל להשתמש ב-Campaign Manager 360 API.
דרישות מוקדמות
לפני שמשתמשים ב-Campaign Manager 360 API, צריך לבצע כמה שלבים מקדימים:
חובה שיהיה לכם חשבון Campaign Manager 360. למידע על הרשמה, אפשר לעיין במאמר מפרסמים/סוכנויות.
צריך להפעיל את הגישה ל-API בחשבון Campaign Manager 360. ברוב החשבונות האפשרות הזו מופעלת כברירת מחדל. אם אתם לא בטוחים, תוכלו לפנות לנציג החשבון או לצוות התמיכה של Campaign Manager 360 לקבלת עזרה.
צריך להיות לכם פרופיל משתמש עם גישה לחשבון הזה. מבקשים מהאדמין של חשבון Campaign Manager 360 ליצור פרופיל משתמש שמשויך לחשבון הזה.
בודקים את ההרשאות של פרופיל המשתמש בממשק המשתמש של Campaign Manager 360. ההרשאות האלה קובעות לאילו נתונים בפרופיל המשתמש תהיה גישה דרך ה-API. אין הרשאות API נפרדות.
יצירת פרויקט
כדי להתחיל להשתמש ב-Campaign Manager 360 API, קודם כול צריך ליצור או לבחור פרויקט במסוף Google API ולהפעיל את ה-API. הקישור הזה ינחה אתכם בתהליך ויפעיל את Campaign Manager 360 API באופן אוטומטי.
יצירת פרטי כניסה
כל הבקשות ששולחים ל-Campaign Manager 360 API חייבות לקבל הרשאה. איך מאשרים ומזהים את האפליקציה ל-Google
בהוראות הבאות מוסבר איך יוצרים מזהה לקוח ב-OAuth 2.0 לשימוש בתהליך של אפליקציה מותקנת. להוראות ליצירת פרטי כניסה לשימוש בתהליך של חשבון השירות, אפשר לעיין במדריך חשבונות שירות.
פועלים לפי השלבים להגדרת פרויקט ב-Google API Console.
- פותחים את דף פרטי הכניסה במסוף ה-API.
לוחצים על CREATE CREDENTIALS (יצירת פרטי כניסה) > OAuth client ID (מזהה לקוח OAuth).
אם לא הגדרתם בעבר מסך הסכמה ל-OAuth בפרויקט הזה, תופיע בקשה לעשות זאת עכשיו. לוחצים על Configure Consent Screen.
בוחרים את סוג המשתמש ולוחצים על CREATE.
ממלאים את הטופס הראשוני. אם צריך, אפשר לערוך את הפרטים האלה בהמשך. בסיום, לוחצים על שמירה.
כדי להמשיך, עוברים חזרה אל Credentials > CREATE CREDENTIALS > OAuth client ID.
בוחרים באפשרות אפליקציה למחשב בתור סוג האפליקציה, נותנים לה שם ולוחצים על Create.
בסיום, יוצגו לכם מזהה לקוח וסודות לקוח של OAuth 2.0, שתוכלו להוריד בפורמט JSON ולשמור לשימוש מאוחר יותר.
התקנת ספריית לקוח
ממשק Campaign Manager 360 API מבוסס על HTTP ועל JSON, כך שכל לקוח HTTP סטנדרטי יכול לשלוח אליו בקשות ולנתח את התשובות.
עם זאת, ספריות הלקוח של 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#
טעינה של קובץ הסודות של הלקוח ויצירת פרטי כניסה להרשאה
בפעם הראשונה שתבצעו את השלב הזה, תתבקשו לאשר בקשה להרשאה בדפדפן. לפני שמאשרים, חשוב לוודא שנכנסתם לחשבון 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;
יוצרים לקוח מורשה של 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); }
Java
טעינה של קובץ הסודות של הלקוח ויצירת פרטי כניסה להרשאה
בפעם הראשונה שתבצעו את השלב הזה, תתבקשו לאשר בקשה להרשאה בדפדפן. לפני שמאשרים, חשוב לוודא שנכנסתם לחשבון 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");
יוצרים לקוח מורשה של 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 שיש לו גישה ל-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())); }
יוצרים לקוח מורשה של 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() ); }
Python
טעינה של קובץ הסודות של הלקוח ויצירת פרטי כניסה להרשאה
בפעם הראשונה שתבצעו את השלב הזה, תתבקשו לאשר בקשה להרשאה בדפדפן. לפני שמאשרים, חשוב לוודא שנכנסתם לחשבון 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())
יוצרים לקוח מורשה של 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']))
Ruby
טעינה של קובץ הסודות של הלקוח ויצירת פרטי כניסה להרשאה
בפעם הראשונה שתבצעו את השלב הזה, תתבקשו לאשר בקשה להרשאה בדפדפן. לפני שמאשרים, חשוב לוודא שנכנסתם לחשבון 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
יוצרים לקוח מורשה של 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. בכל דף פרטים של method יש API Explorer מוטמע שאפשר להשתמש בו כדי לשלוח בקשות בדיקה ישירות מהדפדפן.
כדאי לעיין במדריכים האחרים שלנו, שמכסים נושאים מתקדמים ומספקים דוגמאות מקצה לקצה למשימות נפוצות.
כשתהיו מוכנים להתחיל לכתוב קוד, תוכלו להיעזר באוסף המקיף שלנו של דוגמאות קוד, שאפשר לשנות ולהרחיב בהתאם לצרכים שלכם.