Google Ads API ใช้โปรโตคอล OAuth 2.0 สำหรับการตรวจสอบสิทธิ์และการให้สิทธิ์เช่นเดียวกับ Google APIs อื่นๆ OAuth 2.0 ช่วยให้แอปไคลเอ็นต์ Google Ads API เข้าถึงบัญชี Google Ads ของผู้ใช้ได้โดยไม่ต้องจัดการหรือจัดเก็บข้อมูลการเข้าสู่ระบบของผู้ใช้
ทำความเข้าใจรูปแบบการเข้าถึง Google Ads
หากต้องการทํางานกับ Google Ads API อย่างมีประสิทธิภาพ โปรดทําความเข้าใจวิธีการทํางานของรูปแบบการเข้าถึง Google Ads ดูคู่มือรูปแบบการเข้าถึง Google Ads
เวิร์กโฟลว์ OAuth
เวิร์กโฟลว์ที่ใช้กันทั่วไปเมื่อทำงานกับ Google Ads API มีอยู่ 3 แบบ
โฟลว์บัญชีบริการ
เราขอแนะนำให้ใช้เวิร์กโฟลว์นี้หากเวิร์กโฟลว์ของคุณไม่จำเป็นต้องมีการโต้ตอบกับมนุษย์ เวิร์กโฟลว์นี้ต้องมีขั้นตอนการกำหนดค่า ซึ่งผู้ใช้จะเพิ่มบัญชีบริการลงในบัญชี Google Ads จากนั้นแอปจะใช้ข้อมูลเข้าสู่ระบบของบัญชีบริการเพื่อจัดการบัญชี Google Ads ของผู้ใช้ได้
วิธีตั้งค่า OAuth2 สำหรับการเข้าถึง API โดยใช้ข้อมูลเข้าสู่ระบบของคุณเองกับบัญชีบริการในไลบรารีของไคลเอ็นต์ Perl มีดังนี้
สร้างข้อมูลเข้าสู่ระบบ OAuth2
ทำตามวิธีการเพื่อสร้างบัญชีบริการและไฟล์คีย์ JSON
ตั้งค่าไลบรารีของไคลเอ็นต์
ตั้งค่าเส้นทาง JSON ของคีย์ส่วนตัว (และ
impersonatedEmailที่ไม่บังคับ หากใช้การมอบสิทธิ์ทั่วทั้งโดเมนของ Google Workspace) ในการกำหนดค่า หากคุณใช้ไฟล์googleads.propertiesให้เพิ่มข้อมูลต่อไปนี้jsonKeyFilePath=PRIVATE_KEY_FILE_PATH # Optional unless using Google Workspace domain-wide delegation: impersonatedEmail=IMPERSONATED_EMAIL loginCustomerId=LOGIN_CUSTOMER_IDหากคุณใช้ตัวแปรสภาพแวดล้อม ให้เพิ่มรายการต่อไปนี้ลงในการกำหนดค่าหรือสภาพแวดล้อม Bash
export GOOGLE_ADS_JSON_KEY_FILE_PATH=KEY_FILE_PATH export GOOGLE_ADS_IMPERSONATED_EMAIL=\ IMPERSONATED_EMAIL export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_IDดูข้อมูลเพิ่มเติมได้ที่คู่มือเวิร์กโฟลว์บัญชีบริการ
ขั้นตอนการตรวจสอบสิทธิ์ผู้ใช้รายเดียว
คุณสามารถใช้เวิร์กโฟลว์นี้ได้หากใช้บัญชีบริการไม่ได้ เวิร์กโฟลว์นี้ต้องมีการกำหนดค่า 2 ขั้นตอนดังนี้
- ให้สิทธิ์ผู้ใช้รายเดียวเข้าถึงบัญชีทั้งหมดที่จะจัดการโดยใช้ Google Ads API แนวทางที่พบบ่อยคือการให้สิทธิ์ผู้ใช้เข้าถึงบัญชีดูแลจัดการ Google Ads API และลิงก์บัญชี Google Ads ทั้งหมดภายใต้บัญชีดูแลจัดการนั้น
- ผู้ใช้เรียกใช้ตัวอย่างโค้ด
generate_user_credentials.plเพื่อให้สิทธิ์แอปของคุณจัดการบัญชี Google Ads ทั้งหมดในนามของผู้ใช้
ขั้นตอนต่อไปนี้จะเรียกใช้ตัวอย่างโค้ดแบบอินเทอร์แอกทีฟ ซึ่งจะกำหนดให้คุณต้องป้อนข้อมูล
ในเทอร์มินัล ให้เรียกใช้ตัวอย่าง
generate_user_credentials.plในไดเรกทอรีexamplesคุณสามารถแก้ไขค่าINSERT_XXX_HEREในตัวอย่างก่อนเรียกใช้ หรือใช้อาร์กิวเมนต์บรรทัดคำสั่ง-client_idสำหรับรหัสไคลเอ็นต์และ-client_secretสำหรับรหัสลับไคลเอ็นต์perl generate_user_credentials.pl \ -client_id OAUTH_CLIENT_ID \ -client_secret OAUTH_CLIENT_SECRETตัวอย่างโค้ดนี้จะแจ้งให้คุณไปที่ URL ซึ่งคุณต้องให้สิทธิ์แอปเข้าถึงบัญชี Google Ads ในนามของคุณ
Paste this url in your browser: https://accounts.google.com/o/oauth2/v2/auth?response_type=code&access_type=offline...ไปที่ URL ในเซสชันเบราว์เซอร์ส่วนตัวหรือหน้าต่างที่ไม่ระบุตัวตน ลงชื่อเข้าใช้ด้วยบัญชี Google ที่คุณใช้เข้าถึง Google Ads โดยปกติแล้ว บัญชีนี้จะเป็นบัญชีอีเมลที่มีสิทธิ์เข้าถึงบัญชีดูแลจัดการ Google Ads ซึ่งมีบัญชีทั้งหมดที่คุณต้องจัดการภายในลำดับชั้นของบัญชี คลิกต่อไปในหน้าจอขอความยินยอม OAuth 2.0

ระบบจะเปลี่ยนเส้นทางคุณไปยังหน้าที่มีข้อความระบุว่าการให้สิทธิ์สําเร็จ
Authorization code was successfully retrieved.กลับไปที่คอนโซลที่คุณเรียกใช้ตัวอย่างโค้ด คุณจะเห็นว่าตัวอย่างโค้ดเสร็จสมบูรณ์แล้วและแสดงโทเค็นการรีเฟรชและวิธีการบางอย่าง ตามด้วยวิธีการที่คุณจะต้องปฏิบัติตามเพื่อกำหนดค่าไลบรารีของไคลเอ็นต์ ดังนี้
Replace the following keys and values in your googleads.properties configuration file: clientId=***********************apps.googleusercontent.com clientSecret=**** refreshToken=****กด
Ctrl + Cเพื่อสิ้นสุดกระบวนการ จากนั้นคัดลอกโทเค็นการรีเฟรชที่สร้างขึ้นพร้อมกับรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ลงในไฟล์googleads.propertiesหรือบันทึกไว้ที่อื่นเพื่อใช้หากสร้างอินสแตนซ์ไลบรารีที่รันไทม์
คุณสามารถเริ่มต้นไลบรารีได้โดยใช้ข้อมูลเข้าสู่ระบบ OAuth 2.0 ของผู้ใช้โดยตั้งค่าต่อไปนี้ใน googleads.properties
clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_TOKEN
loginCustomerId=LOGIN_CUSTOMER_ID
หรือใช้ตัวแปรสภาพแวดล้อมดังนี้
export GOOGLE_ADS_CLIENT_ID=OAUTH_CLIENT_ID
export GOOGLE_ADS_CLIENT_SECRET=OAUTH_CLIENT_SECRET
export GOOGLE_ADS_REFRESH_TOKEN=REFRESH_TOKEN
export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID
ดูข้อมูลเพิ่มเติมได้ที่คู่มือเวิร์กโฟลว์การตรวจสอบสิทธิ์ผู้ใช้รายเดียว
ขั้นตอนการตรวจสอบสิทธิ์ผู้ใช้หลายคนหนึ่งเครื่อง
เราขอแนะนำให้ใช้เวิร์กโฟลว์นี้หากแอปของคุณอนุญาตให้ผู้ใช้ลงชื่อเข้าใช้และให้สิทธิ์แอปจัดการบัญชี Google Ads ในนามของผู้ใช้ แอปของคุณจะสร้างและจัดการข้อมูลเข้าสู่ระบบของผู้ใช้ OAuth 2.0
สำหรับ Perl โดยปกติแล้วคุณจะใช้ขั้นตอนของเว็บแอปพลิเคชันที่แอปพลิเคชันจะจัดการการเปลี่ยนเส้นทาง OAuth 2.0 และการจัดการโทเค็น ผู้ใช้จะตรวจสอบสิทธิ์ผ่านแอปพลิเคชันของคุณ จากนั้นแอปพลิเคชันจะจัดเก็บและใช้โทเค็นการรีเฟรชของผู้ใช้เพื่อเรียก API ในนามของผู้ใช้
การกำหนดค่าสำหรับการใช้ข้อมูลเข้าสู่ระบบที่ได้รับจะเหมือนกับขั้นตอนการตรวจสอบสิทธิ์ผู้ใช้รายเดียว ดังนี้
clientId=OAUTH_CLIENT_ID
clientSecret=OAUTH_CLIENT_SECRET
refreshToken=REFRESH_TOKEN
loginCustomerId=LOGIN_CUSTOMER_ID
หรือใช้ตัวแปรสภาพแวดล้อมดังนี้
export GOOGLE_ADS_CLIENT_ID=OAUTH_CLIENT_ID
export GOOGLE_ADS_CLIENT_SECRET=OAUTH_CLIENT_SECRET
export GOOGLE_ADS_REFRESH_TOKEN=REFRESH_TOKEN
export GOOGLE_ADS_LOGIN_CUSTOMER_ID=LOGIN_CUSTOMER_ID
ดูข้อมูลเพิ่มเติมได้ที่คู่มือเวิร์กโฟลว์การตรวจสอบสิทธิ์แบบหลายคนหนึ่งเครื่อง
จะเกิดอะไรขึ้นหากผู้ใช้จัดการหลายบัญชี
เป็นเรื่องปกติที่ผู้ใช้จะจัดการบัญชี Google Ads มากกว่า 1 บัญชี ไม่ว่าจะผ่านการเข้าถึงบัญชีโดยตรงหรือผ่านบัญชีดูแลจัดการ Google Ads ไลบรารีของไคลเอ็นต์ Perl มีตัวอย่างที่แสดงวิธีจัดการกรณีดังกล่าว ดังนี้
- ตัวอย่าง
get_account_hierarchy.plแสดงวิธีดึงข้อมูลรายการบัญชีทั้งหมดภายใต้บัญชีดูแลจัดการ Google Ads - ตัวอย่าง
list_accessible_customers.plแสดงวิธีดึงข้อมูลรายการบัญชีทั้งหมดที่ผู้ใช้มีสิทธิ์เข้าถึงโดยตรง จากนั้นจะใช้บัญชีเหล่านี้เป็นค่าที่ถูกต้องสำหรับการตั้งค่าloginCustomerIdในไฟล์googleads.propertiesหรือตัวแปรสภาพแวดล้อมGOOGLE_ADS_LOGIN_CUSTOMER_IDได้