Google Ads API ใช้โปรโตคอล OAuth 2.0 สำหรับ การตรวจสอบสิทธิ์และการให้สิทธิ์เช่นเดียวกับ Google APIs อื่นๆ OAuth 2.0 ช่วยให้แอปไคลเอ็นต์ Google Ads API เข้าถึงบัญชี Google Ads ของผู้ใช้ได้โดยไม่ต้องจัดการหรือจัดเก็บข้อมูลการเข้าสู่ระบบ ของผู้ใช้
คู่มือนี้ครอบคลุมวิธีกำหนดค่าไลบรารีของไคลเอ็นต์ Java สำหรับการตรวจสอบสิทธิ์ Google Ads API โดยใช้โฟลว์ OAuth 2.0 ที่พบบ่อยที่สุด 3 รายการ พร้อมทั้งอธิบายข้อมูลเข้าสู่ระบบที่จำเป็น
หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับโมเดลการเข้าถึง Google Ads API โปรดอ่านคู่มือโมเดลการเข้าถึง Google Ads
ข้อมูลเข้าสู่ระบบ
การเข้าถึง Google Ads API ต้องใช้โทเค็นของนักพัฒนาซอฟต์แวร์ ข้อมูลเข้าสู่ระบบ OAuth 2.0 และในบางกรณี รหัสลูกค้าที่เข้าสู่ระบบ
โทเค็นของนักพัฒนา
โทเค็นของนักพัฒนาซอฟต์แวร์ลิงก์กับบัญชีดูแลจัดการและดูได้ในอินเทอร์เฟซเว็บของ Google Ads
แม้ว่าโทเค็นของนักพัฒนาแอปจะลิงก์กับบัญชีดูแลจัดการ แต่ก็ไม่ได้ให้สิทธิ์เข้าถึงบัญชีนั้น แต่โทเค็นนักพัฒนาซอฟต์แวร์จะให้สิทธิ์เข้าถึง API โดยทั่วไป และมีการกำหนดค่าการเข้าถึงระดับบัญชีผ่าน OAuth 2.0
ในไลบรารีของไคลเอ็นต์ โทเค็นนักพัฒนาซอฟต์แวร์จะระบุโดยapi.googleads.developerTokenคีย์ในไฟล์ads.properties
ข้อมูลเข้าสู่ระบบ OAuth 2.0
หากต้องการให้สิทธิ์ในฐานะผู้ใช้บัญชี Google ที่มีสิทธิ์เข้าถึงบัญชี Google Ads คุณต้องระบุชุดข้อมูลเข้าสู่ระบบ OAuth 2.0 ประเภทของข้อมูลเข้าสู่ระบบที่จำเป็นต้องใช้ จะแตกต่างกันไปตามขั้นตอน OAuth 2.0 ที่ใช้
โดยไลบรารีรองรับโฟลว์ 3 แบบ ได้แก่
- ขั้นตอนการทำงานของบัญชีบริการ
- โฟลว์การตรวจสอบสิทธิ์ผู้ใช้รายเดียว
- ขั้นตอนการตรวจสอบสิทธิ์แบบหลายผู้ใช้
ดูรายละเอียดเกี่ยวกับขั้นตอน OAuth ของ Google Ads API ได้ที่ภาพรวมของ OAuth และทำตามวิธีการสำหรับขั้นตอนที่ตรงกับความต้องการของคุณมากที่สุดเพื่อรับข้อมูลเข้าสู่ระบบที่จำเป็น
รหัสลูกค้าสำหรับการเข้าสู่ระบบ
ระบุรหัสลูกค้าของบัญชีดูแลจัดการที่ให้สิทธิ์เข้าถึง บัญชีที่ใช้แสดงโฆษณา (ไม่บังคับ) คุณต้องระบุข้อมูลนี้หากเข้าถึงบัญชีลูกค้าผ่านบัญชีดูแลจัดการ คุณไม่จำเป็นต้องระบุบัญชีดูแลจัดการทั้งหมดในเส้นทางไปยังรหัสลูกค้า เพียงระบุรหัสบัญชีดูแลจัดการระดับบนสุดที่คุณใช้สำหรับสิทธิ์เข้าถึง ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบ ที่เกี่ยวข้อง
ในไลบรารีของไคลเอ็นต์ รหัสลูกค้าที่ใช้เข้าสู่ระบบจะระบุโดยคีย์
api.googleads.loginCustomerId ในไฟล์ ads.properties
การกำหนดค่า
คุณกำหนดค่าไลบรารีของไคลเอ็นต์ได้โดยใช้ไฟล์ ads.properties
ตัวแปรสภาพแวดล้อม หรือแบบเป็นโปรแกรม คู่มือนี้มุ่งเน้นที่การใช้ไฟล์
ads.properties ดูรายละเอียดเกี่ยวกับตัวเลือกทั้งหมดได้ที่คำแนะนำ
ในการกำหนดค่า
หากใช้ไฟล์ ads.properties ให้วางไว้ในไดเรกทอรีหน้าแรก
~/ads.properties
เวิร์กโฟลว์ OAuth
เวิร์กโฟลว์ทั่วไป 3 รายการที่ใช้เมื่อทำงานกับ Google Ads API
ขั้นตอนการทำงานของบัญชีบริการ
นี่คือเวิร์กโฟลว์ที่แนะนำหากเวิร์กโฟลว์ของคุณไม่จำเป็นต้องมีการโต้ตอบจากบุคคล เวิร์กโฟลว์นี้ต้องมีขั้นตอนการกำหนดค่า ซึ่งผู้ใช้จะเพิ่มบัญชีบริการลงในบัญชี Google Ads จากนั้นแอปจะใช้ ข้อมูลเข้าสู่ระบบของบัญชีบริการเพื่อจัดการบัญชี Google Ads ของผู้ใช้ได้
เมื่อมีไฟล์ JSON ของคีย์ส่วนตัวแล้ว ให้เพิ่มข้อมูลต่อไปนี้ลงในไฟล์
ads.properties
api.googleads.serviceAccountSecretsPath=PRIVATE_KEY_JSON_FILE_PATH
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
# Only add this key if you are using impersonation to access an account
# other than the service account itself.
# api.googleads.serviceAccountUser=USER_EMAIL_TO_IMPERSONATE
โปรดดูข้อมูลเพิ่มเติมในคู่มือเวิร์กโฟลว์ของบัญชีบริการ
โฟลว์การตรวจสอบสิทธิ์ผู้ใช้รายเดียว
คุณอาจใช้เวิร์กโฟลว์นี้ได้หากใช้บัญชีบริการไม่ได้ เวิร์กโฟลว์นี้ ต้องมีขั้นตอนการกำหนดค่า 2 ขั้นตอนดังนี้
- ให้สิทธิ์ผู้ใช้รายเดียวเข้าถึงบัญชีทั้งหมดที่จะจัดการโดยใช้ Google Ads API แนวทางที่ใช้กันโดยทั่วไปคือการให้สิทธิ์เข้าถึงบัญชีดูแลจัดการ Google Ads API แก่ผู้ใช้ และลิงก์บัญชี Google Ads ทั้งหมดภายใต้บัญชีดูแลจัดการนั้น
- ผู้ใช้เรียกใช้เครื่องมือบรรทัดคำสั่ง เช่น gcloud หรือ
GenerateUserCredentialsตัวอย่างโค้ด เพื่อ ให้สิทธิ์แอปของคุณในการจัดการบัญชี Google Ads ทั้งหมดในนามของผู้ใช้
เมื่อมีข้อมูลเข้าสู่ระบบเหล่านี้แล้ว ให้เพิ่มข้อมูลต่อไปนี้ลงในไฟล์ ads.properties
api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
ดูข้อมูลเพิ่มเติมได้ที่คู่มือเวิร์กโฟลว์การตรวจสอบสิทธิ์ผู้ใช้รายเดียว
ขั้นตอนการตรวจสอบสิทธิ์แบบหลายผู้ใช้
นี่คือเวิร์กโฟลว์ที่แนะนําหากแอปของคุณอนุญาตให้ผู้ใช้ลงชื่อเข้าใช้และ ให้สิทธิ์แอปของคุณในการจัดการบัญชี Google Ads ในนามของผู้ใช้ GenerateUserCredentials เป็นตัวอย่างโค้ดบรรทัดคำสั่ง ที่แสดงวิธีรับการตรวจสอบสิทธิ์ของผู้ใช้ที่รันไทม์ เพื่อจัดการบัญชี Google Ads ในนามของผู้ใช้ คุณสามารถใช้โค้ด ตัวอย่างนี้เป็นข้อมูลอ้างอิงในการสร้างแอปเดสก์ท็อปที่ต้องมีการ ตรวจสอบสิทธิ์ผู้ใช้
เพิ่มโค้ดต่อไปนี้ในไฟล์ ads.properties
api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
ดูข้อมูลเพิ่มเติมได้ที่คู่มือเวิร์กโฟลว์การตรวจสอบสิทธิ์แบบหลายผู้ใช้
จะเกิดอะไรขึ้นหากผู้ใช้ของฉันจัดการหลายบัญชี
ผู้ใช้มักจะจัดการบัญชี Google Ads มากกว่า 1 บัญชี ไม่ว่าจะผ่านการเข้าถึงบัญชีโดยตรงหรือผ่านบัญชีดูแลจัดการ Google Ads ไลบรารีไคลเอ็นต์ Java มีตัวอย่างโค้ดต่อไปนี้ที่แสดงวิธีจัดการกรณีดังกล่าว
- ตัวอย่างโค้ด GetAccountHierarchy แสดงวิธี ดึงรายการบัญชีทั้งหมดภายใต้บัญชีดูแลจัดการ Google Ads
- ตัวอย่างโค้ด ListAccessibleCustomers แสดงวิธี
ดึงข้อมูลรายการบัญชีทั้งหมดที่ผู้ใช้มีสิทธิ์เข้าถึงโดยตรง
จากนั้นจะใช้บัญชีเหล่านี้เป็นค่าที่ถูกต้องสำหรับ
LoginCustomerIdsetting ได้
ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน
ไลบรารีของไคลเอ็นต์ Java ยังรองรับการตรวจสอบสิทธิ์ด้วยข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันด้วย
ซึ่งจะมีประโยชน์อย่างยิ่งสำหรับการพัฒนาในเครื่องหรือการพัฒนาเทียบกับ Google API อื่นๆ เนื่องจากคุณสามารถนำข้อมูลเข้าสู่ระบบเดียวกันมาใช้ซ้ำได้ ตราบใดที่ข้อมูลเข้าสู่ระบบดังกล่าวเข้าถึงขอบเขต OAuth 2.0 ที่ถูกต้องได้
สำหรับ Google Ads API โปรดตรวจสอบว่าข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันเข้าถึงhttps://www.googleapis.com/auth/adwordsขอบเขต OAuth 2.0 ได้
หากต้องการใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน ให้ตั้งค่าตัวเลือก
api.googleads.useApplicationDefaultCredentialsเป็น true ในไฟล์
ads.properties เมื่อใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน คุณไม่ควรตั้งค่า Client
ID, รหัสลับไคลเอ็นต์ และโทเค็นการรีเฟรช