Kể từ ngày 8 tháng 9 năm 2025, mỗi mục hàng mới sẽ cần phải khai báo xem mục hàng đó có phân phát quảng cáo chính trị ở Liên minh Châu Âu (EU) hay không. Display & Video 360 API và các tệp SDF được tải lên mà không cung cấp thông tin khai báo sẽ không thành công. Hãy xem trang thông báo về những nội dung không dùng nữa để biết thêm thông tin về cách cập nhật quy trình tích hợp để đưa ra nội dung khai báo này.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-25 UTC."],[[["\u003cp\u003eBulk edits negative keywords within a specified negative keyword list, allowing for atomic deletion and creation of keywords.\u003c/p\u003e\n"],["\u003cp\u003eUtilizes an HTTP POST request with specific path parameters to identify the advertiser and negative keyword list.\u003c/p\u003e\n"],["\u003cp\u003eRequires providing a request body containing lists of negative keywords to delete and create.\u003c/p\u003e\n"],["\u003cp\u003eReturns a response body listing successfully created negative keywords or an empty list if none were created.\u003c/p\u003e\n"],["\u003cp\u003eNeeds authorization with the \u003ccode\u003ehttps://www.googleapis.com/auth/display-video\u003c/code\u003e scope for access.\u003c/p\u003e\n"]]],["This API operation allows bulk editing of negative keywords within a list. It utilizes a POST request to a specific URL including the `advertiserId` and `negativeKeywordListId`. The request body defines `deletedNegativeKeywords` to remove and `createdNegativeKeywords` to add. The response returns a list of successfully created `negativeKeywords`. This process is atomic, ensuring either complete success or failure, without any partial results. This method requires authorization with the specified OAuth scope.\n"],null,["# Method: advertisers.negativeKeywordLists.negativeKeywords.bulkEdit\n\n| Display \\& Video 360 API v1 has been sunset.\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n - [JSON representation](#body.BulkEditNegativeKeywordsResponse.SCHEMA_REPRESENTATION)\n- [Authorization Scopes](#body.aspect)\n- [Try it!](#try-it)\n\nBulk edits negative keywords in a single negative keyword list.\n\nThe operation will delete the negative keywords provided in [BulkEditNegativeKeywordsRequest.deleted_negative_keywords](/display-video/api/reference/rest/v1/advertisers.negativeKeywordLists.negativeKeywords/bulkEdit#body.request_body.FIELDS.deleted_negative_keywords) and then create the negative keywords provided in [BulkEditNegativeKeywordsRequest.created_negative_keywords](/display-video/api/reference/rest/v1/advertisers.negativeKeywordLists.negativeKeywords/bulkEdit#body.request_body.FIELDS.created_negative_keywords).\n\nThis operation is guaranteed to be atomic and will never result in a partial success or partial failure.\n\n### HTTP request\n\n`POST https://displayvideo.googleapis.com/v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListId}/negativeKeywords:bulkEdit`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `advertiserId` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs. |\n| `negativeKeywordListId` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` Required. The ID of the parent negative keyword list to which the negative keywords belong. |\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"deletedNegativeKeywords\": [ string ], \"createdNegativeKeywords\": [ { object (/display-video/api/reference/rest/v1/advertisers.negativeKeywordLists.negativeKeywords#NegativeKeyword) } ] } ``` |\n\n| Fields ||\n|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `deletedNegativeKeywords[]` | `string` The negative keywords to delete in batch, specified as a list of [keyword_values](/display-video/api/reference/rest/v1/advertisers.negativeKeywordLists.negativeKeywords#NegativeKeyword.FIELDS.keyword_value). |\n| `createdNegativeKeywords[]` | `object (`[NegativeKeyword](/display-video/api/reference/rest/v1/advertisers.negativeKeywordLists.negativeKeywords#NegativeKeyword)`)` The negative keywords to create in batch, specified as a list of [NegativeKeywords](/display-video/api/reference/rest/v1/advertisers.negativeKeywordLists.negativeKeywords#NegativeKeyword). |\n\n### Response body\n\nIf successful, the response body contains data with the following structure:\nResponse message for NegativeKeywordService.BulkEditNegativeKeywords.\n\n| JSON representation |\n|---------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"negativeKeywords\": [ { object (/display-video/api/reference/rest/v1/advertisers.negativeKeywordLists.negativeKeywords#NegativeKeyword) } ] } ``` |\n\n| Fields ||\n|----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `negativeKeywords[]` | `object (`[NegativeKeyword](/display-video/api/reference/rest/v1/advertisers.negativeKeywordLists.negativeKeywords#NegativeKeyword)`)` The list of negative keywords that have been successfully created. This list will be absent if empty. |\n\n### Authorization Scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/display-video`\n\nFor more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2)."]]