البدء

توفّر واجهة برمجة التطبيقات في "مدير الحملة 360" إمكانية الوصول الآلي إلى المعلومات من حسابك على "مدير الحملة 360". ويتم استخدامها لإدارة الحملات والتقارير وإنشائها، تمامًا كما يمكنك من خلال خدمات الويب في "مدير الحملة 360" و"أداة إنشاء التقارير".

يوضّح هذا الدليل كيفية البدء باستخدام واجهة برمجة التطبيقات Campaign Manager 360 API.

المتطلبات الأساسية

قبل استخدام Campaign Manager 360 API، هناك بعض الخطوات الأساسية التي يجب استيفاؤها:

  1. يجب أن يكون لديك حساب على "مدير الحملة 360". يُرجى الاطّلاع على المعلِنون/الوكالات للحصول على معلومات حول الاشتراك.

  2. يجب تفعيل إذن الوصول إلى واجهة برمجة التطبيقات في حسابك على "مدير الحملة 360". يكون هذا الخيار مفعّلاً تلقائيًا في معظم الحسابات. إذا لم تكن متأكّدًا، تواصَل مع ممثل حسابك أو فريق دعم "مدير الحملة 360" للحصول على المساعدة.

  3. يجب أن يكون لديك ملف شخصي للمستخدم يتيح الوصول إلى هذا الحساب. اطلب من مشرف حساب "مدير الحملة 360" إنشاء ملف شخصي للمستخدِم مرتبط بهذا الحساب.

  4. التحقّق من أذونات الملف الشخصي للمستخدِم في واجهة مستخدِم "مدير الحملة 360" تتحكّم هذه العناصر في الوصول إلى الملف الشخصي للمستخدم من واجهة برمجة التطبيقات. لا تتوفّر أذونات API منفصلة.

إنشاء مشروع

لبدء استخدام واجهة برمجة التطبيقات في Campaign Manager 360، عليك أولاً إنشاء أو اختيار مشروع في وحدة تحكّم واجهة برمجة تطبيقات Google وتفعيل واجهة برمجة التطبيقات. باستخدام هذا الرابط، ستتمكّن من الاطّلاع على خطوات العملية وتفعيل واجهة برمجة التطبيقات لخدمة "مدير الحملة 360" تلقائيًا.

إنشاء بيانات الاعتماد

يجب أن تكون جميع الطلبات التي تقدّمها إلى Campaign Manager 360 API مصرّحًا بها. للحصول على نظرة عامةمختصرة على التفويض، يُرجى الاطّلاع على كيفية تفويض Google بالوصول إلى تطبيقك وتحديد هويته.

سترشدك التعليمات التالية خلال عملية إنشاء معرّف مستخدم OAuth 2.0 لاستخدامه مع مسار التطبيق المثبّت. للحصول على تعليمات حول إنشاء بيانات الاعتماد لاستخدامها مع مسار حساب الخدمة، يُرجى الرجوع إلى دليل حسابات الخدمة.

  1. اتّبِع الخطوات اللازمة لضبط مشروع على Google API Console.

  2. افتح صفحة بيانات الاعتماد في وحدة تحكّم واجهة برمجة التطبيقات.
  3. انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth.

    1. إذا لم يسبق لك ضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth لهذا المشروع، سيتم توجيهك إلى إجراء ذلك الآن. انقر على ضبط شاشة الموافقة.

    2. اختَر نوع المستخدم وانقر على إنشاء.

    3. املأ النموذج الأوّلي. ويمكنك تعديل هذا الخيار لاحقًا إذا لزم الأمر. انقر على حفظ عند الانتهاء.

    4. انتقِل مرة أخرى إلى بيانات الاعتماد > إنشاء بيانات الاعتماد > معرّف عميل OAuth للمتابعة.

  4. اختَر تطبيق كمبيوتر مكتبي كنوع التطبيق، وامنحه اسمًا، ثم انقر على إنشاء.

عند الانتهاء، سيظهر لك معرّف العميل وملف العميل العميق لبروتوكول OAuth 2.0، ويمكنك تنزيلهما بتنسيق JSON وحفظهما لاستخدامهما لاحقًا.

تثبيت مكتبة برامج

تم إنشاء واجهة برمجة التطبيقات في "مدير الحملة 360" استنادًا إلى HTTP وJSON، ما يتيح لأي عميل HTTP عادي إرسال طلبات إلى الواجهة وتحليل استجاباتها.

في المقابل، توفّر مكتبات برامج واجهة Google API نتائج أفضل على مستوى التكامل اللغوي والأمان المعزَّز، كما تتيح إمكانية إجراء الطلبات المعتمَدة. تتوفر مكتبات العميل بعدد من لغات البرمجة، ويغنيك استخدامها عن إعداد طلبات HTTP وتحليل الاستجابات يدويًا.

للبدء، اختَر لغة البرمجة التي تستخدمها في التطوير.

#C

ثبِّت أحدث إصدار من مكتبة برامج واجهة برمجة التطبيقات Campaign Manager 360 API لنظام ‎ .NET. وننصحك باستخدام NuGet لإدارة عملية التثبيت.

افتح وحدة تحكّم "مدير حِزم NuGet" ونفِّذ الأمر التالي:

Install-Package Google.Apis.Dfareporting.v3_4

مزيد من المعلومات

Java

ثبِّت أحدث مكتبة برامج واجهة برمجة التطبيقات في "مدير الحملة 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

ثبِّت أحدث مكتبة برامج لواجهة برمجة التطبيقات في "مدير الحملة 360" للغة 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

  1. حمِّل ملف أسرار العميل وأنشئ بيانات اعتماد التفويض.

    في المرة الأولى التي تنفّذ فيها هذه الخطوة، سيُطلب منك قبول طلب تفويض في المتصفّح. قبل القبول، تأكَّد من تسجيل الدخول باستخدام حساب 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;
  2. أنشئ عميل 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"
        }
    );
  3. تنفيذ عملية:

    // 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

  1. حمِّل ملف أسرار العملاء وأنشئ بيانات اعتماد التفويض.

    في المرة الأولى التي تنفّذ فيها هذه الخطوة، سيُطلب منك قبول طلب تفويض في المتصفّح. قبل القبول، تأكَّد من تسجيل الدخول باستخدام حساب 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");
  2. أنشئ عميل 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();
  3. تنفيذ عملية:

    // 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

  1. حمِّل ملف أسرار العميل وأنشئ بيانات اعتماد التفويض.

    في المرة الأولى التي تنفّذ فيها هذه الخطوة، سيُطلب منك قبول طلب تفويض في المتصفّح. قبل القبول، تأكَّد من تسجيل الدخول باستخدام حساب 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()));
    }
  2. أنشئ عميل Dfareporting مفوَّضًا.

    // Create a Dfareporting service object.
    $service = new Google_Service_Dfareporting($client);
  3. تنفيذ عملية:

    // 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

  1. حمِّل ملف أسرار العملاء وأنشئ بيانات اعتماد التفويض.

    في المرة الأولى التي تنفّذ فيها هذه الخطوة، سيُطلب منك قبول طلب تفويض في المتصفّح. قبل القبول، تأكَّد من تسجيل الدخول باستخدام حساب 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())
  2. أنشئ عميل Dfareporting مفوَّضًا.

    # Construct a service object via the discovery service.
    service = discovery.build('dfareporting', 'v4', http=http)
  3. تنفيذ عملية:

    # 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

  1. حمِّل ملف أسرار العملاء وأنشئ بيانات اعتماد التفويض.

    في المرة الأولى التي تنفّذ فيها هذه الخطوة، سيُطلب منك قبول طلب تفويض في المتصفّح. قبل القبول، تأكَّد من تسجيل الدخول باستخدام حساب 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
  2. أنشئ عميل 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'
  3. تنفيذ عملية:

    // 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);
    }

مزيد من المعلومات

يُرجى الانتقال إلى مرجع واجهة برمجة التطبيقات للاطّلاع على جميع الخدمات التي تقدّمها واجهة برمجة التطبيقات. تحتوي كل صفحة تفاصيل عن الطريقة على مستكشف واجهات برمجة التطبيقات مضمّن يمكنك استخدامه لتقديم طلبات اختبار مباشرةً من متصفحك.

راجِع أدلةنا الأخرى التي تتناول مواضيع متقدّمة وتقدّم مثالاً شاملاً للمهام الشائعة.

عندما تكون مستعدًا لبدء كتابة الرموز البرمجية، يمكنك الاطّلاع على مجموعة واسعة من عيّنات الرموز البرمجية التي يمكن تعديلها وإضافتها لتلبية احتياجاتك.