কুইকস্টার্ট

এই দ্রুত শুরুর নির্দেশিকা আপনাকে Google Ads API-তে প্রথম API কল করতে সাহায্য করে।

মূল ধারণা

  • Google Cloud প্রোজেক্ট: Google Cloud প্রোজেক্ট API ও OAuth 2.0 API ক্রেডেনশিয়াল ম্যানেজ করা সহ সব Google পরিষেবা তৈরি, চালু ও ব্যবহার করার ভিত্তি তৈরি করে। আপনি Google Cloud Console থেকে একটি তৈরি করতে পারবেন।
  • API অ্যাক্সেস লেভেল: আপনার Google Cloud প্রোজেক্টের API অ্যাক্সেস লেভেল, আপনি প্রতিদিন কতগুলি API কল করতে পারবেন এবং কোন পরিবেশে API কল করতে পারবেন তা নিয়ন্ত্রণ করে। আপনার প্রোজেক্টের API অ্যাক্সেস লেভেল আপনার প্রোজেক্টের Google Ads API ওভারভিউ পৃষ্ঠায় তালিকাভুক্ত করা আছে।
  • Google Ads ম্যানেজার অ্যাকাউন্ট: Google Ads ম্যানেজার অ্যাকাউন্ট অন্যান্য Google Ads অ্যাকাউন্ট ম্যানেজ করতে ব্যবহার করা হয়, যা Google Ads ক্লায়েন্ট অ্যাকাউন্ট বা অন্যান্য Google Ads ম্যানেজার অ্যাকাউন্টের একটি সংগ্রহ হতে পারে।
  • Google Ads ক্লায়েন্ট অ্যাকাউন্ট: API কলের মাধ্যমে আপনি যে বিজ্ঞাপন টার্গেট করতে চান, সেটি চালানোর জন্য Google Ads অ্যাকাউন্ট ব্যবহার করা হয়।
  • ক্লায়েন্ট কাস্টমার আইডি: ১০-সংখ্যার নম্বর যা Google Ads ক্লায়েন্ট অ্যাকাউন্ট শনাক্ত করে। আপনি যদি Google Ads UI থেকে এই আইডি কপি করে থাকেন, তাহলে হাইফেন সরিয়ে দিতে ভুলবেন না।
  • OAuth 2.0: OAuth 2.0 হল অনুমোদনের জন্য একটি ইন্ডাস্ট্রি-স্ট্যান্ডার্ড প্রোটোকল, যা সব Google API ব্যবহার করে। API কল করার জন্য OAuth 2.0 ক্রেডেনশিয়াল জেনারেট করতে আপনার একটি পরিষেবা অ্যাকাউন্ট এবং কী প্রয়োজন।
  • পরিষেবা অ্যাকাউন্ট: একটি বিশেষ ধরনের Google অ্যাকাউন্ট যা কোনও ব্যক্তিগত ব্যবহারকারীর পরিবর্তে আপনার অ্যাপ্লিকেশনের সাথে সম্পর্কিত। Google Ads API-তে আপনার অ্যাপ্লিকেশন যাচাই করতে এটি ব্যবহার করা হয়। পরিষেবা অ্যাকাউন্ট পেতে হলে আপনার একটি Google Cloud প্রোজেক্ট প্রয়োজন।
  • পরিষেবা অ্যাকাউন্ট কী: একটি JSON অ্যাপ ক্রেডেনশিয়াল ফাইল যাতে আপনার পরিষেবা অ্যাকাউন্টের জন্য ব্যক্তিগত কী থাকে। Google Ads API API কল করার সময় পরিষেবা অ্যাকাউন্টকে যাচাই করতে OAuth 2.0 ক্রেডেনশিয়াল তৈরি করতে এটি ব্যবহার করা হয়। পরিষেবা অ্যাকাউন্টের 'কী' পেতে আপনার একটি পরিষেবা অ্যাকাউন্ট থাকতে হবে।

পূর্বশর্ত

Google Ads API কল করতে, আপনাকে নিম্নলিখিত ধাপগুলি সম্পূর্ণ করতে হবে।

Google Ads API অ্যাক্সেসের জন্য আপনার ক্লাউড প্রোজেক্ট কনফিগার করা

Google Cloud প্রোজেক্ট, Google API ও OAuth 2.0 API ক্রেডেনশিয়াল ম্যানেজ করার জন্য ব্যবহার করা হয়। আপনি আগে থেকে থাকা Google Cloud প্রোজেক্ট খুঁজে পেতে পারেন অথবা Google Cloud Console-এ গিয়ে একটি তৈরি করতে পারেন।

আপনার প্রোজেক্টে Google Ads API চালু করার মাধ্যমে শুরু করুন:

Google Ads API চালু করা

এরপর, Google Ads API ওভারভিউ পৃষ্ঠা দেখুন। পৃষ্ঠাটি আপনার বর্তমান API অ্যাক্সেস লেভেল দেখায়। আপনার বর্তমান API অ্যাক্সেস লেভেল টেস্ট হলে, অ্যাক্সেস লেভেল আপগ্রেড করুন বিভাগটি বড় করে দেখুন। এক্সপ্লোরার অ্যাক্সেস লেভেলের জন্য আবেদন করতে নির্দেশাবলী অনুসরণ করুন।

আবেদন সম্পূর্ণ করার পরে, Google আপনার আবেদন অটোমেটিক পর্যালোচনা করবে এবং বেশিরভাগ ক্ষেত্রে এটিকে এক্সপ্লোরার লেভেলে আপগ্রেড করবে। আপনি যদি Explorer অ্যাক্সেস না পান, চিন্তা করবেন না; এই নির্দেশিকা আপনাকে Google Ads ক্লায়েন্ট অ্যাকাউন্ট কনফিগার করার সময় উপযুক্ত নির্দেশাবলী প্রদান করবে।

পরিষেবার অ্যাকাউন্ট তৈরি করা

API কল করার জন্য আপনার একটি পরিষেবা অ্যাকাউন্ট ও পরিষেবা অ্যাকাউন্ট কী প্রয়োজন। আপনি যদি আগে থেকেই অন্য Google API ব্যবহার করেন এবং OAuth 2.0 পরিষেবা অ্যাকাউন্ট ও কী তৈরি করে থাকেন, তাহলে এই ধাপটি এড়িয়ে গিয়ে আগে থেকে থাকা ক্রেডেনশিয়াল আবার ব্যবহার করতে পারবেন।

কীভাবে পরিষেবা অ্যাকাউন্ট ও কী তৈরি করবেন

  1. Google Cloud কনসোলে, মেনু > IAM ও অ্যাডমিন > পরিষেবা অ্যাকাউন্ট বিকল্পে যান।

    পরিষেবা অ্যাকাউন্টে যান

  2. আপনার পরিষেবা অ্যাকাউন্ট বেছে নিন।
  3. কী > কী যোগ করুন > নতুন কী তৈরি করুন বিকল্পে ক্লিক করুন।
  4. JSON বেছে নিন, তারপর তৈরি করুন বিকল্পে ক্লিক করুন।

    আপনার নতুন পাবলিক/প্রাইভেট কী পেয়ার তৈরি করা হয় এবং নতুন ফাইল হিসেবে আপনার মেশিনে ডাউনলোড করা হয়। ডাউনলোড করা JSON ফাইলটি আপনার ওয়ার্কিং ডিরেক্টরিতে credentials.json হিসেবে সেভ করুন। এই ফাইলটিই এই 'কী'-এর একমাত্র কপি। credentials.json কমিট করবেন না ভার্সন কন্ট্রোল (যেমন, আপনার .gitignore ফাইলে এটি যোগ করুন)।

  5. বন্ধ করুন বিকল্পে ক্লিক করুন।

আপনি যে Google Ads অ্যাকাউন্টের জন্য API কল করছেন সেটি শনাক্ত করে শুরু করুন। আপনি যে ধরনের অ্যাকাউন্টে API কল করতে পারবেন তা আপনার Google Cloud প্রোজেক্টের API অ্যাক্সেস লেভেলের উপর নির্ভর করে। আপনার API অ্যাক্সেস লেভেল জানতে Google Ads API ওভারভিউ পৃষ্ঠা চেক করুন।

এক্সপ্লোরার, বেসিক ও স্ট্যান্ডার্ড অ্যাক্সেস লেভেল

আপনি Google Ads প্রোডাকশন অ্যাকাউন্টে কল করতে পারবেন। তবে, প্রয়োজন হলে টেস্ট অ্যাক্সেস ট্যাবে দেওয়া নির্দেশাবলী অনুসরণ করে আপনি Google Ads টেস্ট অ্যাকাউন্ট তৈরি করতে পারবেন।

অ্যাক্সেস টেস্ট করুন

আপনার Google Cloud প্রোজেক্ট Google Ads প্রোডাকশন অ্যাকাউন্টে API কল করার জন্য ব্যবহার করা যাবে না। আপনি শুধুমাত্র Google Ads টেস্ট অ্যাকাউন্টের জন্য API কল করতে পারবেন।

কীভাবে Google Ads টেস্ট অ্যাকাউন্ট তৈরি করবেন

নিম্নলিখিত নির্দেশাবলী একটি Google Ads টেস্ট ম্যানেজার অ্যাকাউন্ট এবং এর অধীনে একটি Google Ads টেস্ট বিজ্ঞাপনদাতা অ্যাকাউন্ট তৈরি করে।

  1. Google Ads টেস্ট ম্যানেজার অ্যাকাউন্ট তৈরি করতে নীল বোতামে ক্লিক করুন। প্রম্পট করা হলে, আপনার Google Ads প্রোডাকশন ম্যানেজার অ্যাকাউন্টের সাথে লিঙ্ক করা নেই এমন একটি Google অ্যাকাউন্ট দিয়ে সাইন-ইন করুন। আপনার অ্যাকাউন্ট না থাকলে, নতুন Google অ্যাকাউন্ট তৈরি করতে সেই পৃষ্ঠায় অ্যাকাউন্ট তৈরি করুন বোতামটি ব্যবহার করুন।

    Google Ads টেস্ট ম্যানেজার অ্যাকাউন্ট তৈরি করুন

  2. আপনার Google Ads টেস্ট ম্যানেজার অ্যাকাউন্টে থাকাকালীন, একটি Google Ads টেস্ট গ্রাহক অ্যাকাউন্ট তৈরি করুন: অ্যাকাউন্ট > > নতুন অ্যাকাউন্ট তৈরি করুন বিকল্পে ক্লিক করুন এবং ফর্মটি পূরণ করুন। আপনার Google Ads টেস্ট ম্যানেজার অ্যাকাউন্ট থেকে তৈরি করা যেকোনও Google Ads অ্যাকাউন্ট অটোমেটিক Google Ads টেস্ট অ্যাকাউন্ট হিসেবে বিবেচিত হয়।
  3. বিকল্প হিসেবে, Google Ads পৃষ্ঠা থেকে Google Ads টেস্ট ক্লায়েন্ট অ্যাকাউন্টের অধীনে কয়েকটি ক্যাম্পেন তৈরি করুন।

Google Ads গ্রাহককে API কল করতে, আপনাকে অবশ্যই Google Ads গ্রাহক অ্যাকাউন্টে আপনার পরিষেবা অ্যাকাউন্টে অ্যাক্সেস এবং উপযুক্ত অনুমতি দিতে হবে। এটি করতে, গ্রাহকের অ্যাকাউন্টে আপনার অ্যাডমিনিস্ট্রেটর অ্যাক্সেস থাকতে হবে।

কীভাবে আপনার Google Ads অ্যাকাউন্টে পরিষেবা অ্যাকাউন্ট অ্যাক্সেস করার অনুমতি দেবেন

  1. অ্যাডমিনিস্ট্রেটর হিসেবে আপনার Google Ads অ্যাকাউন্টে সাইন-ইন করে শুরু করুন।
  2. অ্যাডমিন > অ্যাক্সেস ও নিরাপত্তা বিকল্পে নেভিগেট করুন।
  3. ব্যবহারকারী ট্যাবের অধীনে বোতামে ক্লিক করুন।
    Google Ads-এর অ্যাক্সেস ও নিরাপত্তা পৃষ্ঠায় ব্যবহারকারী যোগ করার বোতাম দেখানো হচ্ছে
  4. ইমেল ইনপুট বক্সে পরিষেবা অ্যাকাউন্টের ইমেল আইডি টাইপ করুন। অ্যাকাউন্ট অ্যাক্সেসের উপযুক্ত লেভেল বেছে নিন এবং অ্যাকাউন্ট যোগ করুন বোতামে ক্লিক করুন। মনে রাখবেন, পরিষেবা অ্যাকাউন্টের জন্য ইমেল অ্যাক্সেস লেভেল কাজ করে না।
    পরিষেবা অ্যাকাউন্টের ইমেল যোগ করতে এবং অ্যাক্সেস লেভেল বেছে নিতে ডায়ালগ
  5. পরিষেবা অ্যাকাউন্টকে অ্যাক্সেস দেওয়া হয়।
    অ্যাক্সেস ও নিরাপত্তা পৃষ্ঠায় অ্যাক্সেস সহ পরিষেবা অ্যাকাউন্ট দেখানো হচ্ছে
  6. [ঐচ্ছিক] প্রাথমিক সেট-আপের সময় আপনি কোনও পরিষেবা অ্যাকাউন্টে অ্যাডমিনিস্ট্রেটর অ্যাক্সেস দিতে পারবেন না। আপনার API কলের জন্য অ্যাডমিনিস্ট্রেটর অ্যাক্সেসের প্রয়োজন হলে, আপনি নিম্নলিখিত উপায়ে অ্যাক্সেস আপগ্রেড করতে পারবেন।
    1. অ্যাক্সেস লেভেল কলামে পরিষেবা অ্যাকাউন্টের অ্যাক্সেস লেভেলের পাশে ড্রপ-ডাউন তীরচিহ্নে ক্লিক করুন।
    2. ড্রপ-ডাউন তালিকা থেকে অ্যাডমিন বিকল্প বেছে নিন।

টুল ও ক্লায়েন্ট লাইব্রেরি ডাউনলোড করা

আপনি কীভাবে API কল করতে চান তার উপর নির্ভর করে ক্লায়েন্ট লাইব্রেরি বা HTTP ক্লায়েন্ট ডাউনলোড করতে পারেন।

ক্লায়েন্ট লাইব্রেরি ব্যবহার করা

আপনার পছন্দের ক্লায়েন্ট লাইব্রেরি ডাউনলোড ও ইনস্টল করুন।

HTTP ক্লায়েন্ট (REST) ব্যবহার করুন

কার্ল

URL-এর মাধ্যমে ডেটা ট্রান্সফার করার জন্য কমান্ড লাইন টুল, curl ডাউনলোড ও ইনস্টল করুন।

Google Cloud কমান্ড লাইন ইন্টারফেস

gcloud CLI ইনস্টল করতে Google Cloud CLI ইনস্টল করার নির্দেশিকা অনুসরণ করুন।

এই গাইডের বাকি অংশের নির্দেশাবলী gcloud টুলের নিম্নলিখিত ভার্সনের সাথে কাজ করার জন্য যাচাই করা হয়েছে এবং অ্যাপ্লিকেশন আচরণ বা কমান্ড-লাইন বিকল্পের পার্থক্যের কারণে পূর্ববর্তী ভার্সনের সাথে কাজ নাও করতে পারে।

:~$ gcloud version
Google Cloud SDK 492.0.0
alpha 2024.09.06
beta 2024.09.06
bq 2.1.8
bundled-python3-unix 3.11.9
core 2024.09.06
enterprise-certificate-proxy 0.3.2
gcloud-crc32c 1.0.0
gsutil 5.30

API কল করা

কীভাবে API কল করতে হয় সেই সংক্রান্ত নির্দেশাবলীর জন্য আপনার পছন্দের ক্লায়েন্ট বেছে নিন:

Java

ক্লায়েন্ট লাইব্রেরি আর্টিফ্যাক্ট Maven Central রিপোজিটরিতে প্রকাশ করা হয়।

ডিপেন্ডেন্সি ভার্সন ম্যানেজ করতে এবং সমস্যা এড়াতে, Google Ads API বিল অফ মেটেরিয়াল (BOM) গাইড দেখুন।

আপনি BOM ব্যবহার না করলে, নিম্নলিখিত বিল্ড টুলের মধ্যে যেকোনও একটি ব্যবহার করে আপনার প্রোজেক্টে সরাসরি ক্লায়েন্ট লাইব্রেরি যোগ করুন:

Maven: আপনার pom.xml ফাইলে নিম্নলিখিত ডিপেন্ডেন্সি যোগ করুন:

<dependency>
  <groupId>com.google.api-ads</groupId>
  <artifactId>google-ads</artifactId>
  <version>48.0.0</version>
</dependency>

Gradle: আপনার build.gradle ফাইলে নিম্নলিখিত ডিপেন্ডেন্সি যোগ করুন:

implementation 'com.google.api-ads:google-ads:48.0.0'

আপনার হোম ডিরেক্টরিতে (Linux ও macOS-এ ~/ads.properties অথবা Windows-এ %USERPROFILE%\ads.properties) নিম্নলিখিত কন্টেন্ট সহ একটি ads.properties ফাইল তৈরি করুন:

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

API অনুরোধ রান করার আগে, একটি GoogleAdsClient ইনস্ট্যান্স তৈরি করুন। সাধারণত, fromPropertiesFile() আপনার হোম ডিরেক্টরিতে থাকা ads.properties ফাইল থেকে ক্রেডেনশিয়াল লোড করে:

GoogleAdsClient googleAdsClient;
try {
  googleAdsClient = GoogleAdsClient.newBuilder().fromPropertiesFile().build();
} catch (IOException e) {
  System.err.printf("Failed to create GoogleAdsClient: %s%n", e);
  throw new RuntimeException("Initialization failed", e);
}

এরপর, GoogleAdsService.SearchStream ব্যবহার করে ক্যাম্পেন রিপোর্ট রান করুন যাতে বড় ফলাফল সেট দক্ষতার সাথে স্ট্রিম করা যায় এবং আপনার অ্যাকাউন্টে ক্যাম্পেন ফিরিয়ে আনা যায়:

    private void runExample(GoogleAdsClient googleAdsClient, long customerId) {
  try (GoogleAdsServiceClient googleAdsServiceClient =
      googleAdsClient.getLatestVersion().createGoogleAdsServiceClient()) {
    String query = "SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id";
    // Constructs the SearchGoogleAdsStreamRequest.
    SearchGoogleAdsStreamRequest request =
        SearchGoogleAdsStreamRequest.newBuilder()
            .setCustomerId(Long.toString(customerId))
            .setQuery(query)
            .build();

    // Creates and issues a search Google Ads stream request that will retrieve all campaigns.
    ServerStream<SearchGoogleAdsStreamResponse> stream =
        googleAdsServiceClient.searchStreamCallable().call(request);

    // Iterates through and prints all of the results in the stream response.
    for (SearchGoogleAdsStreamResponse response : stream) {
      for (GoogleAdsRow googleAdsRow : response.getResultsList()) {
        System.out.printf(
            "Campaign with ID %d and name '%s' was found.%n",
            googleAdsRow.getCampaign().getId(), googleAdsRow.getCampaign().getName());
      }
    }
  }
}

C#

ক্লায়েন্ট লাইব্রেরি প্যাকেজ NuGet.org রিপোজিটরিতে প্রকাশ করা হয়। Google.Ads.GoogleAds প্যাকেজে NuGet প্যাকেজ রেফারেন্স যোগ করার মাধ্যমে শুরু করুন:

dotnet add package Google.Ads.GoogleAds --version 27.5.0

API কল করতে, আপনার কনফিগারেশন সেটিংস (যেমন appsettings.json, এনভায়রনমেন্ট ভেরিয়েবেল বা কাস্টম সেটিংস) থেকে একটি GoogleAdsConfig অবজেক্ট তৈরি করুন এবং GoogleAdsClient ইনস্ট্যান্স শুরু করার জন্য এটি পাস করুন:

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "JSON_KEY_FILE_PATH",
    LoginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"
};
GoogleAdsClient client = new GoogleAdsClient(config);

এরপর, আপনার অ্যাকাউন্টে ক্যাম্পেন ফিরিয়ে আনতে GoogleAdsService.SearchStream পদ্ধতি ব্যবহার করে ক্যাম্পেন রিপোর্ট রান করুন। এই নির্দেশিকায় রিপোর্টিং সম্পর্কে বিস্তারিত তথ্য নেই।

    public void Run(GoogleAdsClient client, long customerId)
{
    // Get the GoogleAdsService.
    GoogleAdsServiceClient googleAdsService = client.GetService(
        Services.V26.GoogleAdsService);

    // Create a query that will retrieve all campaigns.
    string query = @"SELECT
                    campaign.id,
                    campaign.name,
                    campaign.network_settings.target_content_network
                FROM campaign
                ORDER BY campaign.id";

    try
    {
        // Issue a search request.
        googleAdsService.SearchStream(customerId.ToString(), query,
            delegate (SearchGoogleAdsStreamResponse resp)
            {
                foreach (GoogleAdsRow googleAdsRow in resp.Results)
                {
                    Console.WriteLine("Campaign with ID {0} and name '{1}' was found.",
                        googleAdsRow.Campaign.Id, googleAdsRow.Campaign.Name);
                }
            }
        );
    }
    catch (GoogleAdsException e)
    {
        Console.WriteLine("Failure:");
        Console.WriteLine($"Message: {e.Message}");
        Console.WriteLine($"Failure: {e.Failure}");
        Console.WriteLine($"Request ID: {e.RequestId}");
        throw;
    }
}

PHP

ক্লায়েন্ট লাইব্রেরি প্যাকেজ Packagist রিপোজিটরিতে প্রকাশ করা হয়। আপনার কাছে মানানসই PHP ভার্সন ও Composer ইনস্টল করা আছে কিনা তা নিশ্চিত করুন, তারপর আপনার প্রোজেক্টের রুট ডিরেক্টরিতে পরিবর্তন করুন এবং আপনার প্রোজেক্টের vendor/ ডিরেক্টরিতে লাইব্রেরি ও এর ডিপেন্ডেন্সি ইনস্টল করতে নিম্নলিখিত কমান্ডটি রান করুন:

composer require googleads/google-ads-php:35.2.0

GitHub রিপোজিটরি থেকে google_ads_php.ini ফাইলের একটি কপি তৈরি করুন, এটি আপনার হোম ডিরেক্টরি বা আপনার প্রজেক্টের রুট ডিরেক্টরিতে সেভ করুন এবং আপনার ক্রেডেনশিয়াল যোগ করার জন্য এটি পরিবর্তন করুন:

[GOOGLE_ADS]
loginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"

[OAUTH2]
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"

আপনার google_ads_php.ini কনফিগারেশন ফাইল ব্যবহার করে একটি GoogleAdsClient ইনস্ট্যান্স তৈরি করুন:

use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder;
use Google\Ads\GoogleAds\Lib\V26\GoogleAdsClientBuilder;

$oauth2Credential = (new OAuth2TokenBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->withOAuth2Credential($oauth2Credential)
    ->build();

এরপর, আপনার অ্যাকাউন্টে ক্যাম্পেন রিট্রিভ করতে GoogleAdsService.SearchStream পদ্ধতি ব্যবহার করে ক্যাম্পেন রিপোর্ট চালান:

    public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId)
{
    $googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
    // Creates a query that retrieves all campaigns.
    $query = 'SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id';
    // Issues a search stream request.
    /** @var GoogleAdsServerStreamDecorator $stream */
    $stream = $googleAdsServiceClient->searchStream(
        SearchGoogleAdsStreamRequest::build($customerId, $query)
    );

    // Iterates over all rows in all messages and prints the requested field values for
    // the campaign in each row.
    foreach ($stream->iterateAllElements() as $googleAdsRow) {
        /** @var GoogleAdsRow $googleAdsRow */
        printf(
            "Campaign with ID %d and name '%s' was found.%s",
            $googleAdsRow->getCampaign()->getId(),
            $googleAdsRow->getCampaign()->getName(),
            PHP_EOL
        );
    }
}

Python

Python-এর জন্য Google Ads API ক্লায়েন্ট লাইব্রেরি PyPI-তে ডিস্ট্রিবিউট করা হয়। আপনার কাছে Python-এর একটি কাজ করে এমন ভার্সন ইনস্টল করা আছে কিনা তা নিশ্চিত করুন, তারপর pip ব্যবহার করে লাইব্রেরি ইনস্টল করুন:

python -m pip install google-ads==34.0.0

আপনার API কল যাচাই করতে, একটি google-ads.yaml ফাইল কনফিগার করুন:

  1. GitHub রিপোজিটরি থেকে google-ads.yaml ফাইলের একটি কপি ডাউনলোড করুন।
  2. আপনার হোম ডিরেক্টরি (~/google-ads.yaml) বা কাস্টম পাথে ফাইল সেভ করুন।
  3. google-ads.yaml খুলে আপনার ক্রেডেনশিয়াল যোগ করতে এটি আপডেট করুন:

    login_customer_id: INSERT_LOGIN_CUSTOMER_ID_HERE
    json_key_file_path: JSON_KEY_FILE_PATH
    

    ক্লায়েন্ট শুরু করার আগে লগিং কনফিগার করুন যাতে লাইব্রেরি শুরু বা কনফিগারেশন সংক্রান্ত যেকোনও সতর্কতা ক্যাপচার করে। নিম্নলিখিত উদাহরণ লাইব্রেরির লগারকে INFO লগ স্ট্যান্ডার্ড আউটপুটে (stdout) আউটপুট করার জন্য কনফিগার করে:

import logging
import sys

logger = logging.getLogger("google.ads.googleads.client")
logger.setLevel(logging.INFO)
logger.addHandler(logging.StreamHandler(sys.stdout))

GoogleAdsClient.load_from_storage পদ্ধতি কল করে এবং আপনার google-ads.yaml ফাইলের পাথ পাস করে একটি GoogleAdsClient ইনস্ট্যান্স তৈরি করুন:

from google.ads.googleads.client import GoogleAdsClient

client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")

আপনি পাথ আর্গুমেন্ট বাদ দিলে, load_from_storage() ডিফল্ট হিসেবে আপনার হোম ডিরেক্টরিতে (~/google-ads.yaml) কনফিগারেশন ফাইল সার্চ করে।

এরপর, আপনার অ্যাকাউন্টে ক্যাম্পেন ফিরিয়ে আনতে GoogleAdsService.SearchStream পদ্ধতি ব্যবহার করে ক্যাম্পেন রিপোর্ট রান করুন:

    def main(client: GoogleAdsClient, customer_id: str) -> None:
    ga_service: GoogleAdsServiceClient = client.get_service("GoogleAdsService")

    query: str = """
        SELECT
          campaign.id,
          campaign.name
        FROM campaign
        ORDER BY campaign.id"""

    # Issues a search request using streaming.
    stream: Iterator[SearchGoogleAdsStreamResponse] = ga_service.search_stream(
        customer_id=customer_id, query=query
    )

    for batch in stream:
        rows: List[GoogleAdsRow] = batch.results
        for row in rows:
            print(
                f"Campaign with ID {row.campaign.id} and name "
                f'"{row.campaign.name}" was found.'
            )

Ruby

ক্লায়েন্ট লাইব্রেরির জন্য Ruby gem RubyGems-এ প্রকাশ করা হয়। আপনার ডিভাইসে কাজ করে এমন Ruby ভার্সন ইনস্টল করা আছে কিনা এবং লাইব্রেরি ইনস্টল করতে Bundler ব্যবহার করুন:

  1. আপনার অ্যাপ্লিকেশনের Gemfile-এ Gem যোগ করুন:

    gem 'google-ads-googleads', '~> 46.0.0'
    
  2. এটি রান করে Gem ইনস্টল করুন:

    bundle install

আপনার ক্রেডেনশিয়াল কনফিগার করতে:

  1. GitHub রিপোজিটরি থেকে স্যাম্পেল google_ads_config.rb ফাইল কপি করুন।
  2. আপনার প্রোজেক্টের রুট ডিরেক্টরি বা হোম ডিরেক্টরিতে ফাইলটি সেভ করুন (~)।
  3. google_ads_config.rb খুলুন এবং প্লেসহোল্ডার ভ্যালু আপনার Google Ads API ক্রেডেনশিয়াল দিয়ে পরিবর্তন করুন:

    Google::Ads::GoogleAds::Config.new do |c|
      c.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
      c.keyfile = 'JSON_KEY_FILE_PATH'
    end
    

    আপনার কনফিগারেশন ফাইলের (google_ads_config.rb) পাথ পাস করে GoogleAdsClient ইনস্ট্যান্স তৈরি করুন:

client = Google::Ads::GoogleAds::GoogleAdsClient.new(
  'path/to/google_ads_config.rb'
)

এরপর, আপনার অ্যাকাউন্টে ক্যাম্পেন ফিরিয়ে আনতে GoogleAdsService.SearchStream পদ্ধতি ব্যবহার করে ক্যাম্পেন রিপোর্ট রান করুন:

    def get_campaigns(customer_id)
  # GoogleAdsClient will read a config file from
  # ENV['HOME']/google_ads_config.rb when called without parameters
  client = Google::Ads::GoogleAds::GoogleAdsClient.new

  responses = client.service.google_ads.search_stream(
    customer_id: customer_id,
    query: 'SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id',
  )

  responses.each do |response|
    response.results.each do |row|
      puts "Campaign with ID #{row.campaign.id} and name '#{row.campaign.name}' was found."
    end
  end
end

Perl

Perl ক্লায়েন্ট লাইব্রেরি CPAN-এ ডিস্ট্রিবিউট করা হয় এবং এর জন্য Perl 5.28 বা তার পরবর্তী যেকোনও ভার্সন এবং cpan বা cpanm প্যাকেজ ম্যানেজার প্রয়োজন।

  1. আপনার পছন্দের ডিরেক্টরিতে google-ads-perl রিপোজিটরি ক্লোন করুন:

    git clone https://github.com/googleads/google-ads-perl.git
  2. google-ads-perl ডিরেক্টরিতে পরিবর্তন করুন এবং প্রয়োজনীয় ডিপেন্ডেন্সি ইনস্টল ও লাইব্রেরি বিল্ড করতে নিম্নলিখিত কমান্ড রান করুন:

    cd google-ads-perl
    cpan install Module::Build
    perl Build.PL
    perl Build installdeps
    perl Build
    perl Build install

আপনার ক্রেডেনশিয়াল কনফিগার করতে:

  1. GitHub রিপোজিটরি থেকে আপনার হোম ডিরেক্টরিতে (~/googleads.properties) googleads.properties কনফিগারেশন ফাইলের স্যাম্পেল কপি করুন:

    cp googleads.properties ~/googleads.properties
  2. আপনার ক্রেডেনশিয়াল যোগ করতে ~/googleads.properties এডিট করুন:

    jsonKeyFilePath=JSON_KEY_FILE_PATH
    loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE
    

    আপনার কনফিগার করা googleads.properties ফাইলের পাথ (যেমন ~/googleads.properties) পাস করে একটি Client ইনস্ট্যান্স তৈরি করুন:

my $api_client = Google::Ads::GoogleAds::Client->new({
  properties_file => "/path/to/googleads.properties"
});

এরপর, আপনার অ্যাকাউন্টে ক্যাম্পেন ফিরিয়ে আনতে GoogleAdsService.SearchStream পদ্ধতি ব্যবহার করে ক্যাম্পেন রিপোর্ট রান করুন:

    sub get_campaigns {
  my ($api_client, $customer_id) = @_;

  # Create a search Google Ads stream request that will retrieve all campaigns.
  my $search_stream_request =
    Google::Ads::GoogleAds::V26::Services::GoogleAdsService::SearchGoogleAdsStreamRequest
    ->new({
      customerId => $customer_id,
      query      =>
        "SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id"
    });

  # Get the GoogleAdsService.
  my $google_ads_service = $api_client->GoogleAdsService();

  my $search_stream_handler =
    Google::Ads::GoogleAds::Utils::SearchStreamHandler->new({
      service => $google_ads_service,
      request => $search_stream_request
    });

  # Issue a search request and process the stream response to print the requested
  # field values for the campaign in each row.
  $search_stream_handler->process_contents(
    sub {
      my $google_ads_row = shift;
      printf "Campaign with ID %d and name '%s' was found.\n",
        $google_ads_row->{campaign}{id}, $google_ads_row->{campaign}{name};
    });

  return 1;
}

এটি এক্সিকিউট করা হলে, স্ক্রিপ্টটি মিলে যাওয়া সারি স্ট্রিম করে এবং আপনার অ্যাকাউন্টে প্রতিটি ক্যাম্পেনের আইডি ও নাম প্রিন্ট করে।

কার্ল

gcloud CLI-তে পরিষেবা অ্যাকাউন্টকে অ্যাক্টিভ ক্রেডেনশিয়াল হিসেবে সেট করার মাধ্যমে শুরু করুন।

gcloud auth login --cred-file=JSON_KEY_FILE_PATH

এরপরে, Google Ads API-এর জন্য OAuth 2.0 অ্যাক্সেস টোকেন সংগ্রহ করুন।

gcloud auth \
  print-access-token \
  --scopes='https://www.googleapis.com/auth/adwords'

query.json নামের একটি ফাইল তৈরি করুন যাতে আপনার Google Ads কোয়েরি ল্যাঙ্গুয়েজ (GAQL) অনুরোধ থাকে:

{
  "query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}

আপনার অ্যাকাউন্টে ক্যাম্পেন সংক্রান্ত তথ্য পেতে GoogleAdsService.SearchStream পদ্ধতি ব্যবহার করে ক্যাম্পেন রিপোর্ট চালান:

curl -i -X POST \
  https://googleads.googleapis.com/v26/customers/CUSTOMER_ID/googleAds:searchStream \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "login-customer-id: LOGIN_CUSTOMER_ID" \
  --data-binary "@query.json"

প্রথমবার কল করার সময় কোনও সমস্যা হলে, সমস্যার সমাধানকরণ সংক্রান্ত নির্দেশিকার জন্য API সংক্রান্ত সমস্যার সমাধান করা দেখুন।