การตรวจสอบสิทธิ์และการให้สิทธิ์

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

  1. สร้างข้อมูลเข้าสู่ระบบ OAuth2

    ทำตามวิธีการเพื่อสร้างบัญชีบริการและ*.JSON ไฟล์

  2. ตั้งค่าไลบรารีของไคลเอ็นต์

    ตั้งค่าเส้นทาง JSON ของคีย์ส่วนตัวในการกำหนดค่า หากคุณใช้ไฟล์ googleads.properties ให้เพิ่มข้อมูลต่อไปนี้

    jsonKeyFilePath=PRIVATE_KEY_FILE_PATH
    

    หากใช้ตัวแปรสภาพแวดล้อม ให้เพิ่มข้อมูลต่อไปนี้ลงในการกำหนดค่าหรือสภาพแวดล้อม Bash

    export GOOGLE_ADS_JSON_KEY_FILE_PATH=PRIVATE_KEY_FILE_PATH
    

    โปรดดูข้อมูลเพิ่มเติมในคู่มือเวิร์กโฟลว์ของบัญชีบริการ

โฟลว์การตรวจสอบสิทธิ์ผู้ใช้รายเดียว

คุณอาจใช้เวิร์กโฟลว์นี้ได้หากใช้บัญชีบริการไม่ได้ เวิร์กโฟลว์นี้ ต้องมีขั้นตอนการกำหนดค่า 2 ขั้นตอนดังนี้

  1. ให้สิทธิ์ผู้ใช้รายเดียวเข้าถึงบัญชีทั้งหมดที่จะจัดการโดยใช้ Google Ads API แนวทางที่ใช้กันโดยทั่วไปคือการให้สิทธิ์ผู้ใช้เข้าถึงบัญชีดูแลจัดการ Google Ads API และลิงก์บัญชี Google Ads ทั้งหมดภายใต้บัญชีดูแลจัดการนั้น
  2. ผู้ใช้เรียกใช้generate_user_credentials.plตัวอย่างโค้ด เพื่อให้สิทธิ์แอปของคุณในการจัดการบัญชี Google Ads ทั้งหมดในนามของผู้ใช้

ขั้นตอนต่อไปนี้จะเรียกใช้ตัวอย่างโค้ดแบบอินเทอร์แอกทีฟ ซึ่งจะกำหนดให้คุณ ป้อนข้อมูล

  1. ในเทอร์มินัล ให้เรียกใช้ตัวอย่าง 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}
    
  2. ตัวอย่างโค้ดนี้จะแจ้งให้คุณไปที่ 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

    หน้าจอขอความยินยอม OAuth 2.0

    ระบบจะเปลี่ยนเส้นทางคุณไปยังหน้าที่มีข้อความระบุว่าการให้สิทธิ์ สำเร็จแล้ว

    Authorization code was successfully retrieved.
    
  3. กลับไปที่คอนโซลที่คุณเรียกใช้ตัวอย่างโค้ด คุณจะเห็นว่า ตัวอย่างโค้ดเสร็จสมบูรณ์แล้วและแสดงโทเค็นการรีเฟรชและวิธีการบางอย่าง ตามด้วยวิธีการที่คุณจะต้องทำตามเพื่อ กำหนดค่าไลบรารีไคลเอ็นต์

    Replace the following keys and values in your googleads.properties configuration file:
    
    clientId==***********************apps.googleusercontent.com
    clientSecret=****
    refreshToken=****
    
  4. กด 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 มีตัวอย่างที่แสดงวิธีจัดการกรณีดังกล่าว

  1. ตัวอย่าง get_account_hierarchy.pl แสดง วิธีดึงรายการบัญชีทั้งหมดภายใต้บัญชีดูแลจัดการ Google Ads
  2. ตัวอย่าง list_accessible_customers.pl แสดงวิธีดึงรายการบัญชีทั้งหมดที่ผู้ใช้มีสิทธิ์เข้าถึงโดยตรง จากนั้นจะใช้บัญชีเหล่านี้เป็นค่าที่ถูกต้องสําหรับการตั้งค่า LoginCustomerId ในไฟล์ googleads.properties หรือตัวแปรสภาพแวดล้อม GOOGLE_ADS_LOGIN_CUSTOMER_ID ได้