Ad Manager API-এর সাথে ইন্টার্যাক্ট করার জন্য Google .NET ক্লায়েন্ট লাইব্রেরি প্রদান করে। আমরা NuGet-এর সাথে ক্লায়েন্ট লাইব্রেরি ব্যবহার করার সাজেশন দিই।
শুরু করতে, আপনার পছন্দের IDE-তে একটি নতুন প্রোজেক্ট তৈরি করুন অথবা আগে থেকে থাকা প্রোজেক্টে
ডিপেন্ডেন্সি যোগ করুন। Google ক্লায়েন্ট লাইব্রেরি আর্টিফ্যাক্টকে
NuGet রিপোজিটরিতে
Google.Ads.AdManager.V1 হিসেবে প্রকাশ করে।
প্যাকেজ রেফারেন্স
<!-- MyProject.csproj -->
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta13" />
.NET CLI
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta13
ক্রেডেনশিয়াল কনফিগার করা
যাচাইকরণের জন্য .NET ক্লায়েন্ট লাইব্রেরি OAuth2 এবং অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল (ADC) ব্যবহার করে।
ADC নিম্নলিখিত লোকেশনগুলিতে ক্রম অনুযায়ী ক্রেডেনশিয়াল সার্চ করে:
GOOGLE_APPLICATION_CREDENTIALSএনভায়রনমেন্ট ভেরিয়েবল।- Google Cloud CLI (gcloud CLI)-এর মাধ্যমে সেট-আপ করা ব্যবহারকারীর ক্রেডেনশিয়াল।
- Google Cloud-এ রান করার সময়, Google Cloud রিসোর্সের সাথে অ্যাটাচ করা পরিষেবা অ্যাকাউন্ট।
আপনার 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);
}
}
অন্যান্য পদ্ধতি ও রিসোর্সের উদাহরণ দেখতে, GitHub রিপোজিটরি
googleapis/google-cloud-dotnet দেখুন।
সমস্যা ম্যানেজ করা
সব Ad Manager API সংক্রান্ত সমস্যা হল .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 প্রপার্টি দেখুন।