Cần có sự cho phép
Cập nhật macro GTM. Thử ngay hoặc xem ví dụ.
Yêu cầu
Yêu cầu HTTP
PUT https://www.googleapis.com/tagmanager/v1/accounts/accountId/containers/containerId/macros/macroId
Các tham số
Tên thông số | Giá trị | Nội dung mô tả |
---|---|---|
Tham số đường dẫn | ||
accountId |
string |
Mã tài khoản GTM. |
containerId |
string |
Mã vùng chứa Trình quản lý thẻ của Google (GTM). |
macroId |
string |
Mã macro GTM. |
Tham số truy vấn không bắt buộc | ||
fingerprint |
string |
Khi được cung cấp, vân tay số này phải khớp với vân tay số của macro trong bộ nhớ. |
Ủy quyền
Yêu cầu này cần được uỷ quyền với phạm vi sau (đọc thêm về quy trình xác thực và uỷ quyền).
Phạm vi |
---|
https://www.googleapis.com/auth/tagmanager.edit.containers |
Nội dung yêu cầu
Trong nội dung yêu cầu, hãy cung cấp tài nguyên Macro có các thuộc tính sau:
Tên tài sản | Giá trị | Nội dung mô tả | Ghi chú |
---|---|---|---|
Thuộc tính bắt buộc | |||
parameter[].type |
string |
Loại tham số. Các giá trị hợp lệ là:
Các giá trị được chấp nhận là:
|
có thể ghi |
type |
string |
Loại macro của Trình quản lý thẻ của Google (GTM). | có thể ghi |
Thuộc tính không bắt buộc | |||
disablingRuleId[] |
list |
Chỉ đối với vùng chứa trên thiết bị di động: Danh sách ID quy tắc để tắt macro có điều kiện; macro được bật nếu một trong các quy tắc bật là đúng trong khi tất cả các quy tắc vô hiệu hóa là sai. Được coi là một tập hợp không theo thứ tự. | có thể ghi |
enablingRuleId[] |
list |
Chỉ dành cho vùng chứa di động: Danh sách ID quy tắc để bật macro có điều kiện; macro được bật nếu một trong các quy tắc bật là đúng trong khi tất cả các quy tắc vô hiệu hóa là sai. Được coi là một tập hợp không theo thứ tự. | có thể ghi |
name |
string |
Tên hiển thị macro. | có thể ghi |
notes |
string |
Ghi chú của người dùng về cách áp dụng macro này trong vùng chứa. | có thể ghi |
parameter[] |
list |
Tham số của macro. | có thể ghi |
parameter[].key |
string |
Khoá được đặt tên xác định duy nhất một tham số. Bắt buộc đối với các thông số cấp cao nhất, cũng như giá trị bản đồ. Bỏ qua đối với giá trị danh sách. | có thể ghi |
parameter[].list[] |
list |
Các tham số của tham số danh sách này (các khoá sẽ bị bỏ qua). | có thể ghi |
parameter[].map[] |
list |
Tham số của thông số bản đồ này (phải có khoá; các khoá phải là duy nhất). | có thể ghi |
parameter[].value |
string |
Giá trị của thông số (có thể chứa tài liệu tham khảo macro như "") nếu phù hợp với loại được chỉ định. | có thể ghi |
scheduleEndMs |
long |
Dấu thời gian kết thúc tính bằng mili giây để lên lịch macro. | có thể ghi |
scheduleStartMs |
long |
Dấu thời gian bắt đầu tính bằng mili giây để lên lịch macro. | có thể ghi |
Phản hồi
Nếu thành công, phương thức này sẽ trả về một tài nguyên Macro trong nội dung phản hồi.
Ví dụ
Lưu ý: Các đoạn mã mẫu của phương thức này không phải là ví dụ cho mọi ngôn ngữ lập trình được hỗ trợ (xem trang thông tin về các thư viện dùng cho ứng dụng để biết danh sách các ngôn ngữ được hỗ trợ).
Java
Sử dụng thư viện ứng dụng Java.
/* * Note: This code assumes you have an authorized tagmanager service object. */ /* * This request updates an existing macro for the authorized user. */ // Construct the macro object. Macro macro = new Macro(); macro.setName("Updated URL Macro"); macro.setType("u"); // Construct the parameters. Parameter arg0 = new Parameter(); arg0.setType("template"); arg0.setKey("component"); arg0.setValue("URL"); Parameter arg1 = new Parameter(); arg1.setType("template"); arg1.setKey("customUrlSource"); arg1.setValue("{{element}}"); // set the parameters on the macro. macro.setParameter(Arrays.asList(arg0, arg1)); try { Macro response = tagmanager.accounts().containers(). macros().update("123456", "54321", "18", macro).execute(); } catch (GoogleJsonResponseException e) { System.err.println("There was a service error: " + e.getDetails().getCode() + " : " + e.getDetails().getMessage()); } /* * The results of the update method are stored in the response object. * The following code shows how to access the updated name and fingerprint. */ System.out.println("Updated Name = " + response.getName()); System.out.println("Updated Fingerprint = " + response.getFingerprint());
Python
Dùng thư viện ứng dụng Python.
# Note: This code assumes you have an authorized tagmanager service object. # This request updates an existing macro for the authorized user. try: response = tagmanager.accounts().containers().macros().update( accountId='123456', containerId='54321', macroId='19', body={ 'name': 'Sample URL Macro', 'type': 'u', 'parameter': [ { 'type': 'template', 'key': 'component', 'value': 'URL' }, { 'type': 'template', 'key': 'customUrlSource', 'value': '{{element}}' } ] } ).execute() except TypeError, error: # Handle errors in constructing a query. print 'There was an error in constructing your query : %s' % error except HttpError, error: # Handle API errors. print ('There was an API error : %s : %s' % (error.resp.status, error.resp.reason)) # The results of the update method are stored in the response object. # The following code shows how to access the updated name and fingerprint. print 'Updated Name = %s' % response.get('name') print 'Updated Fingerprint = %s' % response.get('fingerprint')
Hãy dùng thử!
Hãy sử dụng APIs Explorer bên dưới để gọi phương thức này trên dữ liệu trực tiếp và xem phản hồi.