Campaign Manager 360 API מספק גישה פרוגרמטית למידע מחשבון Campaign Manager 360 שלכם. הוא משמש לניהול וליצירה של קמפיינים ודוחות, בדיוק כמו בשירותי האינטרנט של Campaign Manager 360 ויוצר הדוחות.
במדריך הזה מוסבר איך להתחיל להשתמש ב-Campaign Manager 360 API.
דרישות מוקדמות
לפני שמשתמשים ב-Campaign Manager 360 API, צריך לבצע כמה שלבים מקדימים:
צריך להיות לכם חשבון ב-Campaign Manager 360. מידע על הרשמה זמין במאמר מפרסמים/סוכנויות.
צריך להפעיל בחשבון שלכם ב-Campaign Manager 360 גישה ל-API. ברוב החשבונות ההגדרה הזו מופעלת כברירת מחדל. אם אתם לא בטוחים, אתם יכולים לפנות לנציג החשבון שלכם או לצוות התמיכה של Campaign Manager 360 לקבלת עזרה.
צריך שיהיה לכם פרופיל משתמש עם גישה לחשבון הזה. אדמין בחשבון שלכם ב-Campaign Manager 360 צריך ליצור פרופיל משתמש שמשויך לחשבון הזה.
בדיקת ההרשאות של פרופיל המשתמש בממשק המשתמש של Campaign Manager 360 אמצעי הבקרה האלה קובעים למה יש גישה בפרופיל המשתמש מ-API. אין הרשאות API נפרדות.
יצירת פרויקט
כדי להתחיל להשתמש ב-Campaign Manager 360 API, קודם צריך ליצור או לבחור פרויקט ב-Google API Console ולהפעיל את ה-API. הקישור הזה יעזור לכם בתהליך ויפעיל את Campaign Manager 360 API באופן אוטומטי.
יצירת פרטי כניסה
כל הבקשות שאתם שולחים אל Campaign Manager 360 API צריכות להיות מאושרות. במאמר הזה יש סקירה כללית קצרה על הרשאה ומידע על האופן שבו אפשר להרשות לאפליקציה שלכם לגשת ל-Google ולזהות אותה.
בהוראות הבאות מוסבר איך ליצור מזהה לקוח OAuth 2.0 לשימוש בתהליך של אפליקציה מותקנת. הוראות ליצירת פרטי כניסה לשימוש בתהליך של חשבון שירות זמינות במדריך חשבונות שירות.
פועלים לפי השלבים להגדרת פרויקט ב-Google API Console.
- פותחים את הדף Credentials ב-API Console.
לוחצים על CREATE CREDENTIALS > OAuth client ID (יצירת פרטי כניסה > מזהה לקוח OAuth).
אם לא הגדרתם בעבר מסך הסכמה ל-OAuth עבור הפרויקט הזה, תועברו להגדרה שלו עכשיו. לוחצים על הגדרת מסך בקשת ההסכמה.
בוחרים את סוג המשתמש ולוחצים על יצירה.
ממלאים את הטופס הראשוני. במקרה הצורך, אפשר לערוך את המידע הזה בהמשך. בסיום, לוחצים על שמירה.
כדי להמשיך, חוזרים אל Credentials > CREATE CREDENTIALS > OAuth client ID.
בוחרים באפשרות Desktop app (אפליקציה למחשב) כסוג האפליקציה, נותנים לה שם ולוחצים על Create (יצירה).
בסיום, יוצגו לכם מזהה לקוח וסוד לקוח של OAuth 2.0. תוכלו להוריד אותם בפורמט JSON ולשמור אותם לשימוש מאוחר יותר.
התקנה של ספריית לקוח
ממשק Campaign Manager 360 API מבוסס על HTTP ועל JSON, כך שכל לקוח HTTP סטנדרטי יכול לשלוח אליו בקשות ולנתח את התשובות.
עם זאת, ספריות הלקוח של Google API מספקות שילוב טוב יותר של שפות, אבטחה משופרת ותמיכה בשליחת בקשות מורשות. ספריות הלקוח זמינות בכמה שפות תכנות. כשמשתמשים בספריות האלה, לא צריך להגדיר בקשות HTTP ולנתח את התשובות באופן ידני.
כדי להתחיל, בוחרים את שפת התכנות שבה משתמשים לפיתוח.
C#
מומלץ להתקין את ספריית הלקוח העדכנית של Campaign Manager 360 API ל-.NET באמצעות NuGet.
פותחים את NuGet Package Manager Console ומריצים את הפקודה הבאה:
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-rev20250722-2.0.0</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 מוטמע שבו אפשר להשתמש כדי לשלוח בקשות בדיקה ישירות מהדפדפן.
כדאי לעיין במדריכים האחרים שלנו, שכוללים נושאים מתקדמים ומספקים דוגמאות מקצה לקצה למשימות נפוצות.
כשאתם מוכנים להתחיל לכתוב קוד, אתם יכולים לעיין באוסף הנרחב של דוגמאות קוד, שאפשר לשנות ולהרחיב כדי להתאים לצרכים שלכם.