ไลบรารีของไคลเอ็นต์ Google Ads API มีการตั้งค่าการกําหนดค่าหลายอย่างที่ คุณจะใช้เพื่อปรับแต่งลักษณะการทำงานของไลบรารีได้
กำหนดค่าไลบรารีขณะรันไทม์
วิธีที่แนะนำในการกำหนดค่าไลบรารีของไคลเอ็นต์คือการเริ่มต้น
GoogleAdsConfig
ออบเจ็กต์ขณะรันไทม์:
GoogleAdsConfig config = new GoogleAdsConfig()
{
DeveloperToken = "******",
OAuth2Mode = OAuth2Flow.APPLICATION,
OAuth2ClientId = "******.apps.googleusercontent.com",
OAuth2ClientSecret = "******",
OAuth2RefreshToken = "******"
};
GoogleAdsClient client = new GoogleAdsClient(config);
ตัวเลือกการกำหนดค่าสำรอง
นอกจากนี้ เรายังมีตัวเลือกเพิ่มเติมในการกำหนดค่าไลบรารีของไคลเอ็นต์ ดังนี้
เปิดใช้งาน แล้วเพิ่มการอ้างอิง Nuget ลงใน Google.Ads.GoogleAds.Extensions
พัสดุใน
โปรเจ็กต์ของคุณ
หากคุณใช้ตัวเลือกเหล่านี้ ระบบจะไม่ใช้การตั้งค่าการกำหนดค่า โดยอัตโนมัติ คุณควรโหลดอย่างชัดเจนดังที่แสดงด้านล่าง
กำหนดค่าโดยใช้ App.config
การตั้งค่าทั้งหมดของ Google Ads API
จะเก็บอยู่ใน GoogleAdsApi
โหนดของไฟล์ App.config
การกำหนดค่าโดยทั่วไป App.config
มีค่าเท่ากับ
ดังต่อไปนี้:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler" />
</configSections>
<GoogleAdsApi>
<!-- Set the service timeout in milliseconds. -->
<add key="Timeout" value="2000" />
<!-- Proxy settings for library. -->
<add key="ProxyServer" value="http://localhost:8888"/>
<add key="ProxyUser" value=""/>
<add key="ProxyPassword" value=""/>
<add key="ProxyDomain" value=""/>
<!-- API-specific settings -->
<add key="DeveloperToken" value="******"/>
<!-- OAuth2 settings -->
<add key = "OAuth2Mode" value="APPLICATION"/>
<add key = "OAuth2ClientId" value = "******.apps.googleusercontent.com" />
<add key = "OAuth2ClientSecret" value = "******" />
<add key = "OAuth2RefreshToken" value = "******" />
</GoogleAdsApi>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>
หากต้องการโหลดการกำหนดค่าจากไฟล์ App.config
ให้เรียก
เมธอด LoadFromDefaultAppConfigSection
ในออบเจ็กต์ GoogleAdsConfig
:
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromDefaultAppConfigSection();
GoogleAdsClient client = new GoogleAdsClient(config);
ระบุไฟล์ App.config แยกต่างหาก
หากคุณไม่ต้องการให้ App.config
รก คุณสามารถย้าย
การกำหนดค่าเฉพาะไลบรารีลงในไฟล์การกำหนดค่าของตัวเองโดยใช้
configSource
ขั้นตอนที่ 1: ระบุ configSource ใน App.config
แก้ไข App.config
ให้มีลักษณะดังนี้
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler"/>
</configSections>
<GoogleAdsApi configSource="GoogleAdsApi.config"/>
...
</configuration>
ขั้นตอนที่ 2: ระบุเนื้อหาของไฟล์การกำหนดค่า
จากนั้นสร้างไฟล์การกำหนดค่าอีกไฟล์หนึ่งด้วยชื่อที่ระบุใน configSource
และย้ายโหนดการกำหนดค่าจาก App.config
ไปยังไฟล์นี้
<?xml version="1.0" encoding="utf-8" ?>
<GoogleAdsApi>
... More settings.
</GoogleAdsApi>
ขั้นตอนที่ 3: แก้ไขกฎบิลด์ใน csproj
สุดท้าย ให้รวมไฟล์การกำหนดค่าใหม่ในโครงการของคุณ เปลี่ยนพร็อพเพอร์ตี้ ของไฟล์นี้เป็น ภาษาที่คัดลอกไปยังโฟลเดอร์เอาต์พุตเสมอ
ตอนนี้สร้างและเรียกใช้โปรเจ็กต์ แอปพลิเคชันของคุณจะเริ่มเก็บค่า จากไฟล์การกำหนดค่าใหม่
การกำหนดค่าโดยใช้ไฟล์ JSON ที่กำหนดเอง
คุณสามารถใช้
IConfigurationRoot
อินสแตนซ์เพื่อกำหนดค่าไลบรารีของไคลเอ็นต์
สร้างไฟล์ JSON
สร้างไฟล์ JSON ชื่อ GoogleAdsApi.json
ที่มีโครงสร้างคล้ายกับไฟล์
App.config
{
"Timeout": "2000",
"ProxyServer": "http://localhost:8888",
"ProxyUser": "",
"ProxyPassword": "",
"ProxyDomain": "",
"DeveloperToken": "******",
"OAuth2Mode": "APPLICATION",
"OAuth2ClientId": "******.apps.googleusercontent.com",
"OAuth2ClientSecret": "******",
"OAuth2RefreshToken": "******",
}
โหลดการกำหนดค่า
ถัดไป ให้โหลดไฟล์ JSON ลงใน IConfigurationRoot
ConfigurationBuilder builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("GoogleAdsApi.json");
IConfigurationRoot configRoot = builder.Build();
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationRoot(configRoot);
GoogleAdsClient client = new GoogleAdsClient(config);
การกำหนดค่าโดยใช้ settings.json
ขั้นตอนในที่นี้คล้ายกับการใช้ JSON ที่กำหนดเอง เว้นแต่ว่าคีย์ควร
อยู่ในส่วนที่ชื่อ GoogleAdsApi
:
{
"GoogleAdsApi":
{
"DeveloperToken": "******",
"OAuth2Mode": "APPLICATION",
"OAuth2ClientId": "******.apps.googleusercontent.com",
"OAuth2ClientSecret": "******",
"OAuth2RefreshToken": "******",
...
}
// More settings...
}
ถัดไป คุณสามารถใช้อินสแตนซ์ IConfiguration
ในหน้าเว็บได้ดังนี้
IConfigurationSection section = Configuration.GetSection("GoogleAdsApi");
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromConfigurationSection(section);
GoogleAdsClient client = new GoogleAdsClient(config);
การกำหนดค่าโดยใช้ตัวแปรสภาพแวดล้อม
นอกจากนี้ คุณยังเริ่มต้น GoogleAdsClient
โดยใช้ตัวแปรสภาพแวดล้อมได้ด้วย โดยทำดังนี้
GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);
ดูรายการสภาพแวดล้อมที่รองรับทั้งหมด ตัวแปร
ช่องการกำหนดค่า
ต่อไปนี้คือรายการการตั้งค่าที่ไลบรารี .NET ของ Google Ads รองรับ
การตั้งค่าการเชื่อมต่อ
Timeout
: ใช้คีย์นี้เพื่อตั้งค่าระยะหมดเวลาของบริการเป็นมิลลิวินาที ค่าเริ่มต้นได้รับการตั้งค่าตามการตั้งค่าmethod_config/timeout
ใน googleads_grpc_service_config.json. ตั้งค่าให้ต่ำลงหากต้องการบังคับใช้ขีดจำกัดที่สั้นลงสำหรับเวลาสูงสุด สำหรับการเรียก API คุณสามารถตั้งค่าระยะหมดเวลาเป็น 2 ชั่วโมงหรือมากกว่านั้น แต่ API อาจ ยังคงหมดเวลาคำขอที่ทำงานเป็นเวลานานอย่างมากและส่งคืนDEADLINE_EXCEEDED
ProxyServer
: ตั้งค่าเป็น URL ของพร็อกซีเซิร์ฟเวอร์ HTTP หากคุณใช้ พร็อกซีในการเชื่อมต่ออินเทอร์เน็ตProxyUser
: ตั้งชื่อนี้เป็นชื่อผู้ใช้ที่คุณต้องการตรวจสอบสิทธิ์ พร็อกซีเซิร์ฟเวอร์ เว้นช่องนี้ว่างไว้หากไม่ต้องใช้ชื่อผู้ใช้ProxyPassword
: ตั้งค่านี้เป็นรหัสผ่านProxyUser
หากคุณกำหนดค่า สำหรับProxyUser
ProxyDomain
: ตั้งค่านี้เป็นโดเมนสำหรับProxyUser
ถ้าพร็อกซีเซิร์ฟเวอร์ของคุณ ต้องตั้งค่าMaxReceiveMessageLengthInBytes
: ใช้การตั้งค่านี้เพื่อเพิ่มค่าสูงสุด ของการตอบกลับ API ที่ไลบรารีของไคลเอ็นต์จัดการได้ ค่าเริ่มต้น คือ 64 MBMaxMetadataSizeInBytes
: ใช้การตั้งค่านี้เพื่อเพิ่มค่าสูงสุด ของการตอบสนองข้อผิดพลาด API ที่ไลบรารีของไคลเอ็นต์จัดการได้ ค่าเริ่มต้นคือ 16 MB
ปรับ
MaxReceiveMessageLengthInBytes
และMaxMetadataSizeInBytes
การตั้งค่าเพื่อแก้ไขข้อผิดพลาดResourceExhausted
บางอย่าง ที่อยู่ในการตั้งค่าเหล่านี้ ของแบบฟอร์มStatus(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)"
ในตัวอย่างนี้ ข้อผิดพลาดเกิดจากขนาดข้อความ (
423184132 bytes
) มีขนาดใหญ่กว่าที่ไลบรารีจะจัดการได้ (67108864 bytes
) เพิ่มMaxReceiveMessageLengthInBytes
ถึง500000000
เพื่อหลีกเลี่ยงข้อผิดพลาดนี้โปรดทราบว่าข้อผิดพลาดนี้ยังแสดงให้เห็นว่าโค้ดของคุณมีการ ออบเจ็กต์การตอบกลับขนาดใหญ่ (เช่น
SearchGoogleAdsResponse
) ช่วงเวลานี้ อาจมีผลกระทบต่อประสิทธิภาพสำหรับโค้ดของคุณเนื่องจากออบเจ็กต์ขนาดใหญ่ของ .NET ฮีป หากเรื่องนี้กลายเป็นข้อกังวลด้านประสิทธิภาพ คุณอาจต้องหาวิธี จัดระเบียบการเรียก API หรือออกแบบส่วนต่างๆ ของแอปใหม่
การตั้งค่า OAuth2
เมื่อใช้ OAuth2 เพื่อให้สิทธิ์การเรียกใช้กับเซิร์ฟเวอร์ Google Ads API คุณควรตั้งค่าคีย์การกำหนดค่าต่อไปนี้
AuthorizationMethod
: ตั้งค่าเป็นOAuth2
OAuth2Mode
: ตั้งค่าเป็นAPPLICATION
หรือSERVICE_ACCOUNT
OAuth2ClientId
: ตั้งค่านี้เป็นรหัสไคลเอ็นต์ OAuth2OAuth2ClientSecret
: ตั้งค่านี้เป็นรหัสไคลเอ็นต์ OAuth2 ของคุณOAuth2Scope
: ตั้งค่านี้เป็นขอบเขตอื่นหากคุณต้องการให้สิทธิ์ โทเค็น OAuth2 สำหรับ API หลายรายการ การตั้งค่านี้เป็นตัวเลือกที่ไม่บังคับ
หากใช้ OAuth2Mode == APPLICATION
อยู่ คุณจะต้องตั้งค่าสิ่งต่อไปนี้
คีย์การกำหนดค่าเพิ่มเติม
OAuth2RefreshToken
: ตั้งค่านี้เป็นโทเค็นการรีเฟรช OAuth2 ที่สร้างไว้ล่วงหน้า ถ้าต้องการนำโทเค็น OAuth2 มาใช้ซ้ำ การตั้งค่านี้เป็นตัวเลือกที่ไม่บังคับOAuth2RedirectUri
: ตั้งค่านี้เป็น URL เปลี่ยนเส้นทาง OAuth2 การตั้งค่านี้ จะระบุหรือไม่ก็ได้
ดูคำแนะนำต่อไปนี้สำหรับรายละเอียดเพิ่มเติม
หากคุณใช้ OAuth2Mode == SERVICE_ACCOUNT
คุณต้องตั้งค่า
ต่อไปนี้คีย์การกำหนดค่าเพิ่มเติม
OAuth2PrnEmail
: ตั้งค่านี้เป็นอีเมลของบัญชีที่คุณใช้ การแอบอ้างเป็นบุคคลอื่นOAuth2SecretsJsonPath
: ตั้งค่านี้เป็นการกำหนดค่า JSON แบบ OAuth2 เส้นทางไฟล์
ดูขั้นตอนของบัญชีบริการ OAuth สำหรับรายละเอียดเพิ่มเติม
การตั้งค่าการขนส่ง
UseGrpcCore
: กำหนดการตั้งค่านี้เป็นtrue
เพื่อใช้ไลบรารีGrpc.Core
เป็น เลเยอร์การรับส่งข้อมูลที่สำคัญ ดูการรองรับ gRPC สำหรับรายละเอียดเพิ่มเติม
การตั้งค่า Google Ads API
การตั้งค่าต่อไปนี้มีไว้สำหรับ Google Ads API โดยเฉพาะ
DeveloperToken
: ตั้งค่านี้เป็นโทเค็นของนักพัฒนาของคุณLoginCustomerId
: นี่คือรหัสลูกค้าของลูกค้าที่ได้รับสิทธิ์ให้ใช้ ในคำขอโดยไม่มีเครื่องหมายขีดกลาง (-
)LinkedCustomerId
: ส่วนหัวนี้จำเป็นสำหรับวิธีการที่อัปเดตค่า ของเอนทิตีเมื่อได้รับสิทธิ์ผ่านบัญชีที่ลิงก์ใน UI ของ Google Ads (แหล่งข้อมูลAccountLink
ใน Google Ads API) ตั้งค่านี้เป็น รหัสลูกค้าของผู้ให้บริการข้อมูลที่อัปเดตทรัพยากร รหัสลูกค้า ซึ่งควรตั้งค่าโดยไม่มีขีดกลาง (-
) ดูข้อมูลเพิ่มเติมเกี่ยวกับการลิงก์ บัญชี