1. บทนำ
สิ่งที่คุณจะสร้าง
ใน Codelab นี้ คุณจะได้เรียนรู้วิธีสร้างรูปภาพโดยใช้ Vertex AI และส่งไปยัง Google Ads เพื่อให้ระบบใช้ชิ้นงานเป็นชิ้นงานรูปภาพในแคมเปญได้
สิ่งที่คุณจะได้เรียนรู้
- วิธีสร้างรูปภาพจาก GCP, Vertex AI
- วิธีอัปโหลดรูปภาพไปยัง Google Ads
- วิธีใช้ใน Google Ads
สิ่งที่คุณต้องมี
- บัญชี Google Ads
- บัญชี GCP
2. รับข้อมูลเข้าสู่ระบบของ Google Ads
ส่วนนี้จำเป็นต่อการรับชิ้นงานรูปภาพจาก Google Ads หากต้องการเข้าถึง Google Ads จาก Colab คุณต้องมีข้อมูลเข้าสู่ระบบที่ถูกต้อง
สร้างข้อมูลเข้าสู่ระบบ -> สร้าง "รหัสไคลเอ็นต์ OAuth" -> เว็บแอปพลิเคชัน
หากต้องการรับข้อมูลเข้าสู่ระบบที่เหมาะสมเพื่อเชื่อมต่อ Google Ads คุณต้องเข้าถึงข้อมูลเข้าสู่ระบบของ Cloud
หากยังไม่ได้กำหนดค่าหน้าจอขอความยินยอม ให้ตั้งค่าหน้าจอขอความยินยอมก่อน
- ประเภทผู้ใช้: ภายนอก
- สถานะการเผยแพร่: เวอร์ชันที่ใช้งานจริง

เพิ่ม URI ต่อไปนี้ลงใน "URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต"
ป้อน URI ด้านล่างตามภาพหน้าจอด้านล่าง
https://developers.google.com/oauthplayground

คัดลอกรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์
คุณรับรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ได้

3. สร้างโทเค็นการรีเฟรช
สิทธิ์เข้าถึง OAuth Playground
คุณออกโทเค็นการรีเฟรชชั่วคราวได้ง่ายๆ ที่ OAuth Playground
ไปที่การตั้งค่า แล้วเลือก "ใช้ข้อมูลเข้าสู่ระบบ OAuth ของคุณเอง" หลังจากได้รับรหัสไคลเอ็นต์ OAuth และรหัสลับไคลเอ็นต์จากบทก่อนหน้าแล้ว คุณจะป้อนรหัสเหล่านั้นลงในกล่องข้อความที่เกี่ยวข้องได้ 

เพิ่มขอบเขต
คุณเพิ่มขอบเขต https://www.googleapis.com/auth/adwords ในพื้นที่ด้านล่างได้

คลิก "ให้สิทธิ์ API" แล้วคุณจะเห็นหน้าจอถัดไป
สร้างโทเค็นการรีเฟรช
คลิก "เปลี่ยนรหัสการให้สิทธิ์ของโทเค็น" แล้วคุณจะเห็นโทเค็นการรีเฟรช

4. เตรียม Colab ให้พร้อมสำหรับการเรียกใช้โค้ด
Colab คือสมุดบันทึกโค้ดที่มีประโยชน์ซึ่งมาพร้อมกับ Python ตัวเลือกเริ่มต้นจะให้พลังในการประมวลผลค่อนข้างมาก นอกจากนี้ คุณยังใช้แพลตฟอร์มใดก็ได้เพื่อเรียก REST API ของ Vertex AI ใน Google Cloud
โปรดไปที่ https://colab.research.google.com/ เพื่อใช้งาน
ไปที่ [File → New note] แล้วเริ่มเขียนโค้ดใหม่

หากคลิก Notebook ใหม่ คุณจะเห็นชีตใหม่ที่พร้อมใช้งาน
5. สร้างรูปภาพผ่าน Vertex AI ของ Google Cloud
นำเข้าไลบรารี
!pip install requests google-ads
ก่อนอื่น ให้ติดตั้งไลบรารีสำหรับ Google Ads และคำขอ API คุณต้องรีสตาร์ทรันไทม์หลังจากติดตั้งไลบรารี
นอกจากนี้ คุณยังโหลดไลบรารีที่จำเป็นได้ด้วย
import requests
import json
import base64
from google.ads import googleads
from google.colab import auth
from IPython.display import display, Image
รับการตรวจสอบสิทธิ์
ระบบจะขอให้คุณให้สิทธิ์บัญชี Google
auth.authenticate_user()
access_token = !gcloud auth print-access-token
access_token = access_token[0]
หลังจากให้สิทธิ์ตัวเองแล้ว คุณก็พร้อมที่จะเรียกใช้ Google Cloud APIs
6. สร้างรูปภาพจาก Vertex AI
เตรียมพรอมต์และคำขอ POST
ก่อนอื่นคุณควรมีรหัสโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google คุณสามารถรับได้จาก Google Cloud คุณต้องใช้พรอมต์ข้อความ และยังตั้งค่าจำนวนรูปภาพที่ต้องการได้ด้วย โปรดดูตัวเลือกเพิ่มเติมในเอกสารประกอบอย่างเป็นทางการ
PROJECT_ID = 'abcdefg' # Your GCP project ID
TEXT_PROMPT = 'cat computer' # Your prompt goes here.
IMAGE_COUNT = 4 # You will get 4 images as a result.
คุณเขียนอะไรก็ได้ในพรอมต์ข้อความ ในที่นี้ เราต้องการสร้างรูปภาพที่มีแมวและคอมพิวเตอร์อยู่ด้วยกันในรูปภาพเดียว
url = f"https://us-central1-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/us-central1/publishers/google/models/imagegeneration:predict"
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json; charset=utf-8"
}
data = {
"instances": [
{
"prompt": TEXT_PROMPT
}
],
"parameters": {
"sampleCount": IMAGE_COUNT
}
}
ขอสร้างรูปภาพ
เมื่อพร้อมสำหรับ JSON แล้ว คุณจะขอการสร้างรูปภาพได้ คำขอ http โดยทั่วไปมีดังนี้
response = requests.post(url, headers=headers, data=json.dumps(data))
if response.status_code == 200:
response_data = response.json()
for prediction in response_data.get('predictions', []):
image_data = base64.b64decode(prediction['bytesBase64Encoded'])
display(Image(data=image_data))
else:
print("Request failed:", response.status_code, response.text)
หากรอสักครู่ คุณจะได้รับผลลัพธ์ ง่ายมาก

7. เชื่อมต่อกับ Google Ads
เชื่อมต่อกับบัญชี Google Ads
คุณต้องมีโทเค็นของนักพัฒนาจาก Google Ads คุณสามารถสมัครรับโทเค็นสำหรับนักพัฒนาแอปแบบพื้นฐานหรือแบบมาตรฐานได้ แต่หากต้องการใช้เพื่อการทดสอบ ก็มีโทเค็นทดสอบให้ด้วย ไปที่บัญชี MCC ในแท็บเครื่องมือและการตั้งค่า คุณจะเห็นศูนย์ API คุณจะเห็นโทเค็นในส่วน API
รหัสไคลเอ็นต์ รหัสลับไคลเอ็นต์ และโทเค็นการรีเฟรชควรพร้อมใช้งานในบทก่อนหน้า
credentials = {
"developer_token": "ABCDEFG",
"client_id": "123456789012-abcd1234.apps.googleusercontent.com",
"client_secret": "GOCSPX-abcd1234-abcd1234-abcd1234",
"refresh_token": "1//abcdefghijklmnopqrstuvwxyz",
"use_proto_plus": True
}
หลังจากตั้งค่าข้อมูลเข้าสู่ระบบแล้ว คุณจะโหลด GoogleAdsService API ได้ โดยปกติแล้วรหัสลูกค้าจะอยู่ในรูปแบบ xxx-xxxx-xxx แต่คุณควรนำ "-" ออก
client = googleads.client.GoogleAdsClient.load_from_dict(credentials, version='v13')
googleads_service = client.get_service("GoogleAdsService")
customer_id = "1234567890"
การค้นหาบัญชี Google Ads
ตอนนี้คุณทดสอบด้วย googleads_service ได้แล้ว มาดูว่าเรามีชิ้นงานประเภทใดในบัญชี Google Ads
query = (
'''
SELECT
ad_group_ad.ad.id,
ad_group_ad.ad.app_ad.headlines,
ad_group_ad.ad.app_ad.descriptions,
ad_group_ad.ad.app_ad.images
FROM ad_group_ad
''')
response = googleads_service.search(customer_id=customer_id, query=query)
for googleads_row in response:
print(googleads_row)
คุณจะเห็นรายการชิ้นงานในบัญชี Google Ads ในรูปแบบ JSON หากคุณเห็นข้อความต่อไปนี้
ad_group_ad {
`images { asset: "customers/1234567890/assets/09876543210" }`
}
8. อัปโหลดชิ้นงานรูปภาพไปยัง Google Ads
อัปโหลด
สำหรับขั้นตอนสุดท้าย เราจะอัปโหลดชิ้นงานที่สร้างขึ้นไปยัง Google Ads
for prediction in response_data.get('predictions', []):
image_base64 = prediction['bytesBase64Encoded']
image_bytes = base64.b64decode(image_base64)
asset_service = client.get_service('AssetService')
asset_operation = client.get_type('AssetOperation')
asset = asset_operation.create
asset.type_ = client.enums.AssetTypeEnum.IMAGE
asset.image_asset.data = image_bytes
asset.name = "cats"
asset_service.mutate_assets(customer_id=customer_id, operations=[asset_operation])
หลังจากนั้นไม่กี่วินาที คุณจะตรวจสอบชิ้นงานที่อัปโหลดผ่านส่วนหน้าของ Google Ads ได้ นี่คือตัวอย่างภาพหน้าจอ

9. ขอแสดงความยินดี
ขอแสดงความยินดี คุณสร้างชิ้นงานรูปภาพที่สวยงามจากรูปภาพที่มีอยู่เรียบร้อยแล้ว
คุณได้เรียนรู้
- วิธีสร้างชิ้นงานรูปภาพผ่าน Generative AI (Vertex AI)
- วิธีอัปโหลดรูปภาพไปยัง Google Ads และใช้เป็นชิ้นงานรูปภาพ