গুগল অ্যাড ম্যানেজার এপিআই (Ad Manager API)-এর সাথে যোগাযোগের জন্য একটি .NET ক্লায়েন্ট লাইব্রেরি প্রদান করে। আমরা NuGet-এর সাথে এই ক্লায়েন্ট লাইব্রেরিটি ব্যবহার করার পরামর্শ দিই।
শুরু করার জন্য, আপনার পছন্দের IDE-তে একটি নতুন প্রজেক্ট তৈরি করুন অথবা বিদ্যমান কোনো প্রজেক্টে ডিপেন্ডেন্সিটি যোগ করুন। গুগল ক্লায়েন্ট লাইব্রেরি আর্টিফ্যাক্টগুলো Google.Ads.AdManager.V1 নামে NuGet রিপোজিটরিতে প্রকাশ করে।
Package Reference
<!-- MyProject.csproj -->
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta01" />
.NET CLI
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta01
পরিচয়পত্র কনফিগার করুন
.NET ক্লায়েন্ট লাইব্রেরি প্রমাণীকরণের জন্য OAuth2 এবং অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস (ADC) ব্যবহার করে।
ADC নিম্নলিখিত স্থানগুলিতে ক্রমানুসারে ক্রেডেনশিয়াল অনুসন্ধান করে:
-
GOOGLE_APPLICATION_CREDENTIALSএনভায়রনমেন্ট ভেরিয়েবল। - Google Cloud CLI (gcloud CLI)-এর মাধ্যমে ব্যবহারকারীর পরিচয়পত্র সেট আপ করা হয়েছে।
- গুগল ক্লাউডে চালানোর সময়, পরিষেবা অ্যাকাউন্টটি গুগল ক্লাউড রিসোর্সের সাথে সংযুক্ত থাকে।
আপনার ADC ক্রেডেনশিয়াল তৈরি ও কনফিগার করার জন্য, অথেনটিকেশন দেখুন।
আপনার প্রথম অনুরোধটি করুন
প্রতিটি সার্ভিসের একটি ServiceClient অবজেক্ট থাকে, যেখানে প্রতিটি REST মেথডের জন্য সিনক্রোনাস এবং অ্যাসিনক্রোনাস উভয় মেথডই বিদ্যমান। নিম্নলিখিত উদাহরণটি একটি Network সিনক্রোনাসভাবে রিড করে। সমস্ত এনটিটি একটি রিসোর্স নেম দ্বারা চিহ্নিত করা হয়, যা এনটিটির টাইপ এবং নিউমেরিক আইডেন্টিফায়ার নিয়ে গঠিত।
using Google.Ads.AdManager.V1;
public sealed partial class GeneratedNetworkServiceClientSnippets
{
public void GetNetwork()
{
// Create client
NetworkServiceClient networkServiceClient = NetworkServiceClient.Create();
// Initialize request argument(s)
string name = "networks/[NETWORK_CODE]";
// Make the request
Network response = networkServiceClient.GetNetwork(name);
}
}
অন্যান্য পদ্ধতি ও রিসোর্সের উদাহরণের জন্য, googleapis/google-cloud-dotnet গিটহাব রিপোজিটরিটি দেখুন।
ত্রুটিগুলি পরিচালনা করুন
.NET ক্লায়েন্ট লাইব্রেরিতে সমস্ত অ্যাড ম্যানেজার এপিআই ত্রুটি Grpc.Core.RpcException ধরনের হয়ে থাকে।
ত্রুটিগুলোর সাথে একটি অনন্য request_id থাকে, যা আপনি সমস্যা সমাধানে সহায়তার জন্য সাপোর্টকে প্রদান করতে পারেন। নিম্নলিখিত উদাহরণটি HTTP স্ট্যাটাস, ত্রুটির বার্তা এবং request_id বের করে আনে।
using Google.Ads.AdManager.V1;
using Google.Api.Gax.Grpc;
using Google.Rpc;
using Grpc.Core;
try
{
NetworkServiceClient networkServiceClient = NetworkServiceClient.Create();
Network network = networkServiceClient.GetNetwork("networks/[NETWORK_CODE]");
}
catch(RpcException e)
{
// HTTP Status code
StatusCode statusCode = e.Status.StatusCode;
// Error message
string errorMessage = e.Status.Detail;
// Unique request identifier.
RequestInfo requestInfo = e.GetStatusDetail<RequestInfo>();
string requestId = requestInfo?.RequestId ?? "Unexpected null request identifier";
}
সম্পদের নাম তৈরি করুন
ক্লায়েন্ট লাইব্রেরিটি আইডি থেকে রিসোর্সের নাম তৈরি করার জন্য সহায়ক ক্লাস সরবরাহ করে। এগুলো সরাসরি সার্ভিস মেথডে পাঠানো যায়।
// Represents a resource name in the format:
// "networks/{networkCode}/orders/{orderId}"
OrderName name = OrderName.FromNetworkCodeOrder("123", "456");
Order response = orderServiceClient.GetOrder(name);
প্রক্সি সেটিংস কনফিগার করুন
.NET ক্লায়েন্ট লাইব্রেরি HttpClient.DefaultProxy প্রপার্টিকে সম্মান করে, যার মধ্যে HTTP_PROXY এবং HTTPS_PROXY এনভায়রনমেন্ট ভেরিয়েবল থেকে প্রক্সি সেট করাও অন্তর্ভুক্ত। আরও বিস্তারিত জানতে, HttpClient.DefaultProxy Property দেখুন।