توفّر واجهة برمجة التطبيقات في "مدير الحملة 360" إمكانية الوصول آليًا إلى المعلومات من حسابك على "مدير الحملة 360". ويتم استخدامها لإدارة الحملات والتقارير وإنشائها، تمامًا كما تفعل من خلال خدمات الويب في "مدير الحملة 360" و"أداة إنشاء التقارير".
يوضّح هذا الدليل كيفية البدء باستخدام Campaign Manager 360 API.
المتطلبات الأساسية
قبل استخدام Campaign Manager 360 API، عليك استيفاء بعض الخطوات الأساسية التالية:
يجب أن يكون لديك حساب على "مدير الحملة 360". يمكنك الاطّلاع على المعلِنين/الوكالات للحصول على معلومات حول الاشتراك.
يجب تفعيل حسابك على "مدير الحملة 360" للوصول إلى واجهة برمجة التطبيقات. يتم تفعيل هذه الميزة تلقائيًا في معظم الحسابات. إذا لم تكن متأكّدًا، تواصَل مع ممثل حسابك أو فريق دعم "مدير الحملة 360" للحصول على المساعدة.
يجب أن يكون لديك ملف مستخدم شخصي لديه إذن الوصول إلى هذا الحساب. اطلب من مشرف حسابك على "مدير الحملة 360" إنشاء ملف شخصي للمستخدِم مرتبط بهذا الحساب.
التحقّق من أذونات الملف الشخصي للمستخدِم في واجهة مستخدِم "مدير الحملة 360" تتحكّم هذه الإعدادات في المحتوى الذي يمكن للملف الشخصي للمستخدم الوصول إليه من واجهة برمجة التطبيقات. لا توجد أذونات منفصلة لواجهة برمجة التطبيقات.
إنشاء مشروع
لبدء استخدام Campaign Manager 360 API، عليك أولاً إنشاء مشروع أو اختيار مشروع في Google API Console وتفعيل واجهة برمجة التطبيقات. سيساعدك استخدام هذا الرابط في إكمال العملية وتفعيل واجهة برمجة التطبيقات Campaign Manager 360 API تلقائيًا.
إنشاء بيانات اعتماد
يجب أن يتم السماح بجميع الطلبات التي ترسلها إلى Campaign Manager 360 API. للحصول على نظرة عامة موجزة عن الأذونات، يمكنك الاطّلاع على كيفية الموافقة على الطلبات وتعريف تطبيقك أمام Google.
ترشدك التعليمات التالية خلال عملية إنشاء معرّف عميل OAuth 2.0 لاستخدامه مع مسار التطبيق المثبَّت. للحصول على تعليمات حول إنشاء بيانات اعتماد لاستخدامها مع مسار حساب الخدمة، يُرجى الرجوع إلى دليل حسابات الخدمة.
اتّبِع الخطوات لإعداد مشروع على Google API Console.
- افتح صفحة بيانات الاعتماد في API Console.
انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth.
إذا لم يسبق لك ضبط شاشة موافقة OAuth لهذا المشروع، سيُطلب منك إجراء ذلك الآن. انقر على إعداد شاشة الموافقة.
اختَر نوع المستخدم وانقر على إنشاء.
املأ النموذج الأوّلي. يمكنك تعديل هذا الخيار لاحقًا إذا لزم الأمر. انقر على حفظ عند الانتهاء.
ارجع إلى بيانات الاعتماد > إنشاء بيانات اعتماد > معرّف عميل OAuth للمتابعة.
اختَر تطبيق سطح المكتب كنوع التطبيق، وأدخِل اسمًا له، ثم انقر على إنشاء.
بعد الانتهاء، سيظهر لك معرّف عميل وسر عميل لبروتوكول OAuth 2.0، ويمكنك تنزيلهما بتنسيق JSON وحفظهما لاستخدامهما لاحقًا.
تثبيت مكتبة برامج
تم إنشاء Campaign Manager 360 API استنادًا إلى HTTP وJSON، ما يتيح لأي برنامج HTTP عادي إرسال طلبات إلى الواجهة وتحليل استجاباتها.
في المقابل، توفّر مكتبات برامج واجهة Google API نتائج أفضل على مستوى التكامل اللغوي والأمان المعزَّز، كما تتيح إمكانية إجراء الطلبات التي تحتاج إلى إذن. تتوفر مكتبات البرامج بعدّة لغات برمجة، ويغنيك استخدامها عن إعداد طلبات HTTP وتحليل الاستجابات يدويًا.
للبدء، اختَر لغة البرمجة التي تستخدمها في التطوير.
#C
ثبِّت أحدث مكتبة لبرامج Campaign Manager 360 API لنظام NET .. ننصحك باستخدام NuGet لإدارة عملية التثبيت.
افتح "وحدة تحكّم مدير حِزم 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.
مزيد من المعلومات
- اطَّلِع على دليل المطوّر لمكتبة برامج Google API للغة PHP.
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
حمِّل ملف أسرار العميل وأنشئ بيانات اعتماد التفويض.
في المرة الأولى التي تنفّذ فيها هذه الخطوة، سيُطلب منك قبول طلب تخويل في المتصفّح. قبل قبول الدعوة، تأكَّد من تسجيل الدخول باستخدام حساب 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;
إنشاء عميل معتمَد في "إعلانات Google"
// 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 لديه إذن الوصول إلى "مدير الحملة 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");
إنشاء عميل معتمَد في "إعلانات Google"
// 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())); }
إنشاء عميل معتمَد في "إعلانات Google"
// 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 لديه إذن الوصول إلى "مدير الحملة 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())
إنشاء عميل معتمَد في "إعلانات Google"
# 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 لديه إذن الوصول إلى "مدير الحملة 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
إنشاء عميل معتمَد في "إعلانات Google"
# 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 Explorer مضمّن يمكنك استخدامه لتقديم طلبات اختبار مباشرةً من متصفّحك.
راجِع أدلتنا الأخرى التي تغطّي مواضيع متقدّمة وتقدّم أمثلة شاملة للمهام الشائعة.
عندما تكون مستعدًا لبدء كتابة الرمز، يمكنك الاطّلاع على مجموعتنا الواسعة من أمثلة الرموز التي يمكن تعديلها وتوسيعها لتناسب احتياجاتك.