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 ของคีย์ส่วนตัวในการกำหนดค่า หากใช้ไฟล์
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.plexamplesคุณสามารถแก้ไขค่า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