Python

Ad Manager API-এর সাথে ইন্টার‍্যাক্ট করার জন্য Google একটি Python ক্লায়েন্ট লাইব্রেরি প্রদান করে। আমরা PyPI-এর সাথে ক্লায়েন্ট লাইব্রেরি ব্যবহার করার সাজেশন দিই।

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

requirements.txt

google-ads-admanager==0.10.6

কমান্ড লাইন

pip install google-ads-admanager

ক্রেডেনশিয়াল কনফিগার করা

যাচাইকরণের জন্য Python ক্লায়েন্ট লাইব্রেরি OAuth2 ও অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল (ADC) ব্যবহার করে।

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

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

আপনার 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)

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

HTTP অনুরোধ ও উত্তর লগ করা

Python ক্লায়েন্ট লাইব্রেরি, HTTP অনুরোধ ও উত্তর লগ করার জন্য স্ট্যান্ডার্ড Python 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

অথবা, আপনি Python 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)

এছাড়াও, Ad Manager API সংক্রান্ত সমস্যার মধ্যে একটি অনন্য 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'])

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

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