Google Ads API PHP ক্লায়েন্ট লাইব্রেরি বেশ কিছু কনফিগারেশন সেটিংস প্রদান করে যা আপনি লাইব্রেরির আচরণ কাস্টমাইজ করতে ব্যবহার করতে পারেন।
কনফিগারেশন ফাইল
আপনি এইসব কনফিগারেশন সেটিংসের বেশিরভাগই INI
কনফিগারেশন ফাইলে স্টোর করতে এবং ক্লায়েন্ট ইনস্ট্যান্টিয়েট করার সময় সেগুলি ব্যবহার করতে পারবেন, যেমন,
google_ads_php.ini।
ক্রেডেনশিয়াল ও ক্লায়েন্ট বিল্ডার, দুটিই এই ধরনের ফাইল থেকে সেটিংস লোড করার জন্য fromFile পদ্ধতি প্রদান করে:
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile('/path/to/google_ads_php.ini')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile('/path/to/google_ads_php.ini')
->withOAuth2Credential($oAuth2Credential)
->build();
আর্গুমেন্ট হিসেবে কোনও কনফিগারেশন পাথ প্রদান করা না হলে, fromFile
মেথড ডিফল্ট কনফিগারেশন পাথ থেকে লোড হয়, যা হল:
GOOGLE_ADS_CONFIGURATION_FILE_PATHনামের এনভায়রনমেন্ট ভেরিয়েবলের ভ্যালু সেট করা থাকলে।- অন্যথায়, আপনার
HOMEডিরেক্টরিতেgoogle_ads_php.iniফাইল।
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile()
->withOAuth2Credential($oAuth2Credential)
->build();
ডায়নামিক কনফিগারেশন
ক্লায়েন্ট ইনস্ট্যান্টিয়েট করার সময় আপনি এইসব কনফিগারেশন সেটিংস ডায়নামিক্যালি সেট করতে পারবেন:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->build();
কনফিগারেশন এনভায়রনমেন্ট ভেরিয়েবল
ক্লায়েন্ট ইনস্ট্যান্টিয়েট করার সময় আপনি এনভায়রনমেন্ট ভেরিয়েবল থেকে কিছু কনফিগারেশন সেটিংস সেট করতে পারবেন (স্ট্যান্ডার্ড এনভায়রনমেন্ট ভেরিয়েবল দেখুন)।
এনভায়রনমেন্ট ভেরিয়েবেল থেকে সেটিংস লোড করার জন্য ক্রেডেনশিয়াল ও ক্লায়েন্ট বিল্ডার,
উভয়ই fromEnvironmentVariables পদ্ধতি প্রদান করে।
$oAuth2Credential = (new OAuth2TokenBuilder())
// ...
->fromEnvironmentVariables()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
// ...
->fromEnvironmentVariables()
->build();
কনফিগারেশন ফিল্ড
কনফিগারেশন সেটিংসে বিভিন্ন ফিল্ড থাকে যা বিভাগে সাজানো থাকে:
OAuth2TokenBuilder-এর ব্যবহার করা ফিল্ড:- অ্যাপ্লিকেশন মোড:
[OAUTH2] clientId: আপনার OAuth2 ক্লায়েন্ট আইডি।[OAUTH2] clientSecret: আপনার OAuth2 ক্লায়েন্ট সিক্রেট।[OAUTH2] refreshToken: আপনার OAuth2 রিফ্রেশ টোকেন।
- পরিষেবা অ্যাকাউন্ট মোড:
[OAUTH2] jsonKeyFilePath: JSON কী পাথ।[OAUTH2] scopes: OAuth2 স্কোপ (ডিফল্ট হিসেবেhttps://www.googleapis.com/auth/adwordsv32.1.0এবং তার পরবর্তী ভার্সনে;v32.1.0-এর আগের ভার্সনে বা কাস্টম স্কোপ ব্যবহার করার সময় প্রয়োজন;fromEnvironmentVariables()-এর মাধ্যমে এনভায়রনমেন্ট ভেরিয়েবল থেকে রিড করা হয় না)।[OAUTH2] impersonatedEmail: Google Workspace ডোমেন-ওয়াইড ডেলিগেশন ব্যবহার করার সময় ছদ্মবেশ ধারণ করার জন্য ঐচ্ছিক ইমেল আইডি।
- অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল মোড:
- অ্যাপ্লিকেশন মোড বা পরিষেবা অ্যাকাউন্ট মোড ফিল্ডের কোনওটিই সেট করা না থাকলে,
OAuth2TokenBuilderঅটোমেটিক অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল (ADC)-এ ফিরে যায়।
- অ্যাপ্লিকেশন মোড বা পরিষেবা অ্যাকাউন্ট মোড ফিল্ডের কোনওটিই সেট করা না থাকলে,
- অ্যাপ্লিকেশন মোড:
GoogleAdsClientBuilder-এর ব্যবহার করা ফিল্ড:[GOOGLE_ADS] loginCustomerId: অনুরোধে ব্যবহার করার জন্য অনুমোদিত গ্রাহকের আইডি।[GOOGLE_ADS] linkedCustomerId: লিঙ্ক করা কাস্টমার আইডি।[GOOGLE_ADS] endpoint: ঐচ্ছিক বিকল্প Google Ads API সার্ভার এন্ডপয়েন্ট।[LOGGING] logFilePath: আউটপুট লগ করার পাথ।[LOGGING] logLevel: লগিং লেভেল।[CONNECTION] proxy: ইন্টারনেট কানেক্টিভিটির জন্য ব্যবহৃত প্রক্সি সার্ভার URL।[CONNECTION] transport: নেটওয়ার্ক ট্রান্সপোর্ট (grpcবাrest)।[CONNECTION] grpcChannelIsSecure: gRPC চ্যানেল সুরক্ষিত কিনা।[CONNECTION] grpcChannelCredential: gRPC চ্যানেল ক্রেডেনশিয়াল।[CONNECTION] unaryMiddlewares: ইউনারি মিডলওয়্যার।[CONNECTION] streamingMiddlewares: স্ট্রিমিং মিডলওয়্যার।[CONNECTION] grpcInterceptors: gRPC ইন্টারসেপ্টর।
কনফিগারেশন যাচাইকরণ
ক্লায়েন্ট ইনস্ট্যান্টিয়েট করার সময় কনফিগারেশন সেটিংস চেক করা হয় এবং ভুল হলে ব্যতিক্রম থ্রো করা হয়। যাচাইকরণের নিয়মগুলি নিচে দেওয়া হল:
- অ্যাপ্লিকেশন মোড এবং পরিষেবা অ্যাকাউন্ট মোড, দুটির জন্যই একই সাথে
[OAUTH2]ফিল্ড সেট করা যাবে না। - পরিষেবা অ্যাকাউন্ট মোড ব্যবহার করার সময়
[OAUTH2] jsonKeyFilePathসেট করতে হবে (v32.1.0-এর আগের ভার্সনে,[OAUTH2] scopes-ও সেট করতে হবে;v32.1.0এবং পরবর্তী ভার্সনে,scopesডিফল্ট হিসেবেhttps://www.googleapis.com/auth/adwords-এ সেট করা থাকে)। - অ্যাপ্লিকেশন মোড ব্যবহার করার সময়
[OAUTH2] clientId,[OAUTH2] clientSecretও[OAUTH2] refreshTokenসেট করতে হবে। - সেট করা হলে,
[GOOGLE_ADS] loginCustomerIdএবং[GOOGLE_ADS] linkedCustomerIdঅবশ্যই পজিটিভ সংখ্যা হতে হবে। - সেট করা থাকলে,
[CONNECTION] proxyঅবশ্যই একটি সঠিক URL হতে হবে (FILTER_VALIDATE_URLফিল্টার দেখুন)। - সেট করা হলে,
[LOGGING] logLevelঅবশ্যই বড় হাতের অক্ষরে লেখা সঠিক PSR লগ লেভেল হতে হবে, যেমনINFO। - সেট করা থাকলে,
[CONNECTION] transportঅবশ্যইgrpcবাrestহতে হবে। [CONNECTION] transport-এর মানgrpcহিসেবে সেট করা থাকলে, gRPC ট্রান্সপোর্টকে অবশ্যই এনভায়রনমেন্ট দ্বারা সমর্থিত হতে হবে (ট্রান্সপোর্ট গাইড দেখুন)।[CONNECTION] transport-এর মানgrpc-এ সেট করা না থাকলে[CONNECTION] grpcChannelIsSecure-এর মানtrueহতে হবে (REST কানেকশনের জন্য সবসময় HTTPS প্রয়োজন)।[CONNECTION] transport-এর মানgrpc-এ সেট করা থাকলে তবেই[CONNECTION] grpcChannelCredentialসেট করা যাবে।[CONNECTION] grpcChannelIsSecure-এর মানtrueহলে তবেই[CONNECTION] grpcChannelCredentialসেট করা যাবে।