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
เวิร์กโฟลว์ทั่วไป 3 รายการที่ใช้เมื่อทำงานกับ Google Ads API
ขั้นตอนการทำงานของบัญชีบริการ
นี่คือเวิร์กโฟลว์ที่แนะนำหากเวิร์กโฟลว์ของคุณไม่จำเป็นต้องมีการโต้ตอบจากบุคคล เวิร์กโฟลว์นี้ต้องมีขั้นตอนการกำหนดค่า ซึ่งผู้ใช้จะเพิ่มบัญชีบริการลงในบัญชี Google Ads จากนั้นแอปจะใช้ ข้อมูลเข้าสู่ระบบของบัญชีบริการเพื่อจัดการบัญชี Google Ads ของผู้ใช้ได้
ต่อไปนี้เป็นวิธีตั้งค่า OAuth2 สำหรับการเข้าถึง API โดยใช้ข้อมูลเข้าสู่ระบบของคุณเองกับ บัญชีบริการในไลบรารีของไคลเอ็นต์ Perl
สร้างข้อมูลเข้าสู่ระบบ OAuth2
ทำตามวิธีการเพื่อสร้างบัญชีบริการและ
*.JSONไฟล์ตั้งค่าไลบรารีของไคลเอ็นต์
ตั้งค่าเส้นทาง JSON ของคีย์ส่วนตัวในการกำหนดค่า หากคุณใช้ไฟล์
googleads.propertiesให้เพิ่มข้อมูลต่อไปนี้jsonKeyFilePath=PRIVATE_KEY_FILE_PATHหากใช้ตัวแปรสภาพแวดล้อม ให้เพิ่มข้อมูลต่อไปนี้ลงในการกำหนดค่าหรือสภาพแวดล้อม Bash
export GOOGLE_ADS_JSON_KEY_FILE_PATH=PRIVATE_KEY_FILE_PATHโปรดดูข้อมูลเพิ่มเติมในคู่มือเวิร์กโฟลว์ของบัญชีบริการ
โฟลว์การตรวจสอบสิทธิ์ผู้ใช้รายเดียว
คุณอาจใช้เวิร์กโฟลว์นี้ได้หากใช้บัญชีบริการไม่ได้ เวิร์กโฟลว์นี้ ต้องมีขั้นตอนการกำหนดค่า 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 {client_id} -client_secret {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&client_id=...ไปที่ 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
developerToken=DEVELOPER_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_DEVELOPER_TOKEN=DEVELOPER_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
developerToken=DEVELOPER_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_DEVELOPER_TOKEN=DEVELOPER_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ได้