Python

গুগল অ্যাড ম্যানেজার এপিআই (Ad Manager API)-এর সাথে যোগাযোগের জন্য একটি পাইথন ক্লায়েন্ট লাইব্রেরি প্রদান করে। আমরা PyPI-এর সাথে এই ক্লায়েন্ট লাইব্রেরিটি ব্যবহার করার পরামর্শ দিই।

শুরু করার জন্য, আপনার পছন্দের IDE-তে একটি নতুন প্রজেক্ট তৈরি করুন অথবা একটি বিদ্যমান প্রজেক্টে ডিপেন্ডেন্সিটি যোগ করুন। গুগল তার ক্লায়েন্ট লাইব্রেরি আর্টিফ্যাক্টগুলো PyPI-তে google-ads-admanager নামে প্রকাশ করে।

requirements.txt

google-ads-admanager==0.10.5

কমান্ড লাইন

pip install google-ads-admanager

পরিচয়পত্র কনফিগার করুন

পাইথন ক্লায়েন্ট লাইব্রেরিটি প্রমাণীকরণের জন্য OAuth2 এবং অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস (ADC) ব্যবহার করে।

ADC নিম্নলিখিত স্থানগুলিতে ক্রমানুসারে ক্রেডেনশিয়াল অনুসন্ধান করে:

  1. GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবল।
  2. Google Cloud CLI (gcloud CLI)-এর মাধ্যমে ব্যবহারকারীর পরিচয়পত্র সেট আপ করা হয়েছে।
  3. গুগল ক্লাউডে চালানোর সময়, পরিষেবা অ্যাকাউন্টটি গুগল ক্লাউড রিসোর্সের সাথে সংযুক্ত থাকে।

আপনার ADC ক্রেডেনশিয়াল তৈরি ও কনফিগার করার জন্য, অথেনটিকেশন দেখুন।

আপনার প্রথম অনুরোধটি করুন

প্রতিটি সার্ভিসের একটি ServiceClient অবজেক্ট থাকে, যেখানে প্রতিটি REST মেথডের জন্য সিনক্রোনাস এবং অ্যাসিনক্রোনাস উভয় ধরনের মেথডই বিদ্যমান। নিচের উদাহরণটি সিনক্রোনাসভাবে একটি Network রিড করে।



from google.ads import admanager_v1


def sample_get_network():
    # Create a client
    client = admanager_v1.NetworkServiceClient()

    # Initialize request argument(s)
    request = admanager_v1.GetNetworkRequest(
        name="networks/[NETWORK_CODE]",
    )

    # Make the request
    response = client.get_network(request=request)

    # Handle the response
    print(response)

অন্যান্য পদ্ধতি ও রিসোর্সের উদাহরণের জন্য, googleapis/google-cloud-python গিটহাব রিপোজিটরিটি দেখুন।

HTTP অনুরোধ এবং প্রতিক্রিয়া লগ করুন

পাইথন ক্লায়েন্ট লাইব্রেরিটি HTTP অনুরোধ এবং প্রতিক্রিয়া লগ করার জন্য স্ট্যান্ডার্ড পাইথন logging লাইব্রেরি ব্যবহার করে। ডিফল্টরূপে, লগিং নিষ্ক্রিয় থাকে।

লগিং চালু করতে, GOOGLE_SDK_PYTHON_LOGGING_SCOPE এনভায়রনমেন্ট ভেরিয়েবলটি সেট করুন। এই এনভায়রনমেন্ট ভেরিয়েবলটি logging.DEBUG বা তার চেয়ে উচ্চতর লেভেলের লগিং ইভেন্টগুলোর হ্যান্ডলিং কনফিগার করে।

# Log only Ad Manager API events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google.ads.admanager_v1

# Log all Google library events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google

বিকল্পভাবে, আপনি পাইথন logging মডিউল ব্যবহার করতে পারেন:

import logging

from google.ads import admanager_v1

logger = logging.getLogger("google.ads.admanager_v1")
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.DEBUG)

ত্রুটিগুলি পরিচালনা করুন

সকল API ত্রুটি GoogleAPIError বেস ক্লাসটিকে এক্সটেন্ড করে।

ত্রুটির কারণ ক্ষেত্রটি ত্রুটির প্রকারকে স্বতন্ত্রভাবে শনাক্ত করে। ত্রুটিটি কীভাবে সমাধান করা হবে তা নির্ধারণ করতে এই ক্ষেত্রটি ব্যবহার করুন।

try:
  network = client.get_network(request=request)
  print(network)
except GoogleAPIError as e:
  # Handle error
  print(e.reason)

অ্যাড ম্যানেজার এপিআই ত্রুটিগুলিতে একটি অনন্য requestId অন্তর্ভুক্ত থাকে, যা আপনি সমস্যা সমাধানে সহায়তার জন্য সাপোর্টকে প্রদান করতে পারেন। নিম্নলিখিত উদাহরণটি একটি GoogleAPIError থেকে requestId টি বের করে;

except GoogleAPIError as e:
  requestInfoType = "type.googleapis.com/google.rpc.RequestInfo"
  requestInfo = [detail for detail in e.details if detail['@type'] == requestInfoType][0]
  print(requestInfo['requestId'])

প্রক্সি সেটিংস কনফিগার করুন

পাইথন ক্লায়েন্ট লাইব্রেরি http_proxy এবং https_proxy এনভায়রনমেন্ট ভেরিয়েবল সেটিংস মেনে চলে।