Khảo sát các mục chưa được đặt trước từ hàng đợi lập chỉ mục và đánh dấu một tập hợp là đã đặt trước, bắt đầu bằng các mục có dấu thời gian cũ nhất từ ItemStatus có mức độ ưu tiên cao nhất. Thứ tự ưu tiên như sau:
Việc đặt trước các mục đảm bảo rằng hoạt động thăm dò ý kiến từ các luồng khác không thể tạo ra các tập hợp trùng lặp.
Sau khi xử lý các mục được đặt trước, ứng dụng phải đặt các mục đó trở lại trạng thái chưa đặt trước bằng cách gọi index, hoặc gọi push với loại REQUEUE.
Các mục sẽ tự động có sẵn (không được đặt trước) sau 4 giờ ngay cả khi không có phương thức cập nhật hoặc đẩy nào được gọi.
API này yêu cầu tài khoản quản trị hoặc tài khoản dịch vụ để thực thi. Tài khoản dịch vụ được sử dụng là tài khoản được đưa vào danh sách trắng trong nguồn dữ liệu tương ứng.
Yêu cầu HTTP
POST https://cloudsearch.googleapis.com/v1/indexing/{name=datasources/*}/items:poll
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-25 UTC."],[],[],null,["# Method: indexing.datasources.items.poll\n\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.PollItemsResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nPolls for unreserved items from the indexing queue and marks a set as reserved, starting with items that have the oldest timestamp from the highest priority [ItemStatus](/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code). The priority order is as follows:\n\n[ERROR](/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code#ENUM_VALUES.ERROR)\n\n[MODIFIED](/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code#ENUM_VALUES.MODIFIED)\n\n[NEW_ITEM](/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code#ENUM_VALUES.NEW_ITEM)\n\n[ACCEPTED](/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code#ENUM_VALUES.ACCEPTED)\n\nReserving items ensures that polling from other threads cannot create overlapping sets.\n\nAfter handling the reserved items, the client should put items back into the unreserved state, either by calling [index,](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items/index_#google.apps.search.v1.ItemsService.IndexItem) or by calling [push](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items/push#google.apps.search.v1.ItemsService.PushItem) with the type [REQUEUE.](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items/push#PushItem.Type.ENUM_VALUES.REQUEUE)\n\nItems automatically become available (unreserved) after 4 hours even if no update or push method is called.\n\nThis API requires an admin or service account to execute. The service account used is the one whitelisted in the corresponding data source.\n\n### HTTP request\n\n`POST https://cloudsearch.googleapis.com/v1/indexing/{name=datasources/*}/items:poll`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|--------|------------------------------------------------------------------------------------|\n| `name` | `string` The name of the data Source to poll items. Format: datasources/{sourceId} |\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"connectorName\": string, \"statusCodes\": [ enum (/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code) ], \"limit\": integer, \"queue\": string, \"debugOptions\": { object (/workspace/cloud-search/docs/reference/rest/v1/DebugOptions) } } ``` |\n\n| Fields ||\n|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `connectorName` | `string` The name of connector making this call. Format: datasources/{sourceId}/connectors/{id} |\n| `statusCodes[]` | `enum (`[ItemStatus.Code](/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code)`)` Limit the items polled to the ones with these statuses. |\n| `limit` | `integer` Maximum number of items to return. The maximum value is 100 and the default value is 20. |\n| `queue` | `string` Queue name to fetch items from. If unspecified, items.poll will fetch from 'default' queue. The maximum length is 100 characters. |\n| `debugOptions` | `object (`[DebugOptions](/workspace/cloud-search/docs/reference/rest/v1/DebugOptions)`)` Common debug options. |\n\n### Response body\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|----------------------------------------------------------------------------------------------------------------------|\n| ``` { \"items\": [ { object (/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#Item) } ] } ``` |\n\n| Fields ||\n|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `items[]` | `object (`[Item](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#Item)`)` Set of items from the queue available for connector to process. These items have the following subset of fields populated: [version](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#Item.FIELDS.version) [metadata.hash](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#ItemMetadata.FIELDS.hash) [structuredData.hash](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#ItemStructuredData.FIELDS.hash) [content.hash](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#ItemContent.FIELDS.hash) [payload](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#Item.FIELDS.payload) [status](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#Item.FIELDS.status) [queue](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#Item.FIELDS.queue) |\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/cloud_search.indexing`\n- `https://www.googleapis.com/auth/cloud_search`\n\nFor more information, see the [Authorization guide](/workspace/guides/configure-oauth-consent)."]]