Tìm nạp thông tin tham khảo đến tất cả các lớp proto cần thiết để sử dụng API trong Python có thể dài dòng và đòi hỏi bạn phải có hiểu biết nội tại về API hoặc thường xuyên chuyển đổi ngữ cảnh để tham khảo các giao thức hoặc tài liệu.
Các phương thức get_service
và get_type
của ứng dụng
Hai phương thức getter này cho phép bạn truy xuất bất kỳ dịch vụ hoặc đối tượng loại nào trong
API. Phương thức get_service
được dùng để truy xuất các ứng dụng dịch vụ. get_type
được sử dụng cho bất kỳ đối tượng nào khác. Các lớp ứng dụng dịch vụ được xác định trong mã
trong đường dẫn phiên bản google/ads/googleads/v*/services/services/
và tất cả
được xác định theo các danh mục đối tượng khác nhau,
google/ads/googleads/v*/common|enums|errors|resources|services/types/
Tất cả mã trong thư mục phiên bản đều được tạo, vì vậy đây là cách tốt nhất
sử dụng các phương pháp này thay vì nhập trực tiếp đối tượng, trong trường hợp
cấu trúc của cơ sở mã thay đổi.
Dưới đây là ví dụ về cách sử dụng phương thức get_service
để truy xuất một thực thể
của ứng dụng GoogleAdsService
.
from google.ads.googleads.client import GoogleAdsClient
# "load_from_storage" loads your API credentials from disk so they
# can be used for service initialization. Providing the optional `version`
# parameter means that the v17 version of GoogleAdsService will
# be returned.
client = GoogleAdsClient.load_from_storage(version="v17")
googleads_service = client.get_service("GoogleAdsService")
Dưới đây là ví dụ về cách sử dụng phương thức get_type
để truy xuất một
Thực thể Campaign
.
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage(version="v17")
campaign = client.get_type("Campaign")
Enum
Mặc dù bạn có thể sử dụng phương thức get_type
để truy xuất Enum, nhưng mỗi phương thức
Thực thể GoogleAdsClient
cũng có một thuộc tính enums
tự động
tải các Enum bằng cơ chế tương tự như phương thức get_type
. Giao diện này
nhằm đơn giản và dễ đọc hơn so với sử dụng get_type
:
client = GoogleAdsClient.load_from_storage(version=v17)
campaign = client.get_type("Campaign")
campaign.status = client.enums.CampaignStatusEnum.PAUSED
Các trường đối tượng proto là enum được biểu thị bằng Python bởi thuộc tính gốc
enum. Điều đó có nghĩa là bạn
có thể dễ dàng đọc giá trị của thành viên. Làm việc với thực thể campaign
từ ví dụ trước trong một bản sao lưu Python:
>>> print(campaign.status)
CampaignStatus.PAUSED
>>> type(campaign.status)
<enum 'CampaignStatus'>
>>> print(campaign.status.value)
3
Đôi khi, sẽ rất hữu ích nếu biết tên của trường tương ứng với
giá trị enum như đã hiển thị ở trên. Bạn có thể truy cập vào thông tin này bằng name
thuộc tính:
>>> print(campaign.status.name)
'PAUSED'
>>> type(campaign.status.name)
<class 'str'>
Việc tương tác với enum là khác nhau tuỳ thuộc vào việc bạn có
use_proto_plus
cấu hình được đặt thành true
hoặc false
. Để biết chi tiết về hai giao diện, hãy xem
tài liệu về thông báo protobuf.
Lập phiên bản
Nhiều phiên bản của API được duy trì cùng lúc. Trong khi
v17
có thể là phiên bản mới nhất, các phiên bản trước đó vẫn là phiên bản cũ
cho đến khi mặt trời lặn. Thư viện này sẽ bao gồm các proto riêng biệt
các lớp thông báo tương ứng với từng phiên bản API đang hoạt động. Để truy cập vào thông báo
cho một phiên bản cụ thể cung cấp tham số từ khoá version
khi
khởi tạo một ứng dụng để ứng dụng luôn trả về thực thể từ phiên bản đã cho
phiên bản:
client = GoogleAdsService.load_from_storage(version="/google-ads/api/reference/rpc/v17/")
# The Campaign instance will be from the v17 version of the API.
campaign = client.get_type("Campaign")
Bạn cũng có thể chỉ định phiên bản khi gọi get_service
và
get_type
. Thao tác này sẽ ghi đè phiên bản được cung cấp khi
Khởi chạy ứng dụng:
client = GoogleAdsService.load_from_storage()
# This will load the v17 version of the GoogleAdsService.
googleads_service = client.get_service(
"GoogleAdsService", version="v17")
client = GoogleAdsService.load_from_storage(version="v17")
# This will load the v15 version of a Campaign.
campaign = client.get_type("Campaign", version="v15")
Nếu bạn không cung cấp tham số từ khoá version
, thì thư viện sẽ mặc định sử dụng
phiên bản mới nhất. Danh sách cập nhật về các phiên bản mới nhất và các phiên bản khác hiện có
trong phần điều hướng bên trái trên
Tài liệu về Tài liệu tham khảo API.