Google Ads API ใช้โปรโตคอล OAuth 2.0 สำหรับ การตรวจสอบสิทธิ์และการให้สิทธิ์เช่นเดียวกับ Google API อื่นๆ OAuth 2.0 ช่วยให้แอปไคลเอ็นต์ Google Ads API สามารถ เข้าถึงบัญชี Google Ads ของผู้ใช้ได้โดยไม่ต้องจัดการหรือจัดเก็บข้อมูล การเข้าสู่ระบบของผู้ใช้
ทําความเข้าใจรูปแบบการเข้าถึง Google Ads
หากต้องการทํางานร่วมกับ Google Ads API อย่างมีประสิทธิภาพ คุณต้องทําความเข้าใจวิธีทํางานของโมเดลการเข้าถึง Google Ads ดูคู่มือรูปแบบการเข้าถึง Google Ads
เวิร์กโฟลว์ OAuth
เวิร์กโฟลว์ทั่วไป 3 อย่างที่ใช้เมื่อทำงานกับ Google Ads API
โฟลว์บัญชีบริการ
นี่คือเวิร์กโฟลว์ที่แนะนำหากเวิร์กโฟลว์ของคุณไม่จำเป็นต้องมีการโต้ตอบจากบุคคล เวิร์กโฟลว์นี้ต้องมีขั้นตอนการกำหนดค่า ซึ่งผู้ใช้จะเพิ่มบัญชีบริการลงในบัญชี 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ได้