Returns a list of real-time servers that can be used for long-polling updates to the event stream.
Long polling is the concept where a HTTP request is kept open until the server sends a response, then repeating the process over and over to receive updated responses.
Long polling the event stream can only be used for user events, not for enterprise events.
To use long polling, first use this endpoint to retrieve a list of long poll URLs. Next, make a long poll request to any of the provided URLs.
When an event occurs in monitored account a response with the value
new_change will be sent. The response contains no other details as
it only serves as a prompt to take further action such as sending a
request to the events endpoint with the last known
stream_position.
After the server sends this response it closes the connection. You must now repeat the long poll process to begin listening for events again.
If no events occur for a while and the connection times out you will
receive a response with the value reconnect. When you receive this response
you’ll make another call to this endpoint to restart the process.
If you receive no events in retry_timeout seconds then you will need to
make another request to the real-time server (one of the URLs in the response
for this endpoint). This might be necessary due to network errors.
Finally, if you receive a max_retries error when making a request to the
real-time server, you should start over by making a call to this endpoint
first.
This operation is performed by calling function get_events_with_long_polling.
See the endpoint docs at API Reference.
client.events.get_events_with_long_polling()- extra_headers
Optional[Dict[str, Optional[str]]]- Extra headers that will be included in the HTTP request.
This function returns a value of type RealtimeServers.
Returns a paginated array of servers that can be used instead of the regular endpoints for long-polling events.
Returns up to a year of past events for a given user or for the entire enterprise.
By default this returns events for the authenticated user. To retrieve events
for the entire enterprise, set the stream_type to admin_logs_streaming
for live monitoring of new events, or admin_logs for querying across
historical events. The user making the API call will
need to have admin privileges, and the application will need to have the
scope manage enterprise properties checked.
This operation is performed by calling function get_events.
See the endpoint docs at API Reference.
client.events.get_events()- stream_type
Optional[GetEventsStreamType]- Defines the type of events that are returned _
allreturns everything for a user and is the default _changesreturns events that may cause file tree changes such as file updates or collaborations. _syncis similar tochangesbut only applies to synced folders _admin_logsreturns all events for an entire enterprise and requires the user making the API call to have admin permissions. This stream type is for programmatically pulling from a 1 year history of events across all users within the enterprise and within acreated_afterandcreated_beforetime frame. The complete history of events will be returned in chronological order based on the event time, but latency will be much higher thanadmin_logs_streaming. *admin_logs_streamingreturns all events for an entire enterprise and requires the user making the API call to have admin permissions. This stream type is for polling for recent events across all users within the enterprise. Latency will be much lower thanadmin_logs, but events will not be returned in chronological order and may contain duplicates.
- Defines the type of events that are returned _
- stream_position
Optional[str]- The location in the event stream to start receiving events from. _
nowwill return an empty list events and the latest stream position for initialization. _0ornullwill return all events.
- The location in the event stream to start receiving events from. _
- limit
Optional[int]- Limits the number of events returned. Note: Sometimes, the events less than the limit requested can be returned even when there may be more events remaining. This is primarily done in the case where a number of events have already been retrieved and these retrieved events are returned rather than delaying for an unknown amount of time to see if there are any more results.
- event_type
Optional[List[GetEventsEventType]]- A comma-separated list of events to filter by. This can only be used when requesting the events with a
stream_typeofadmin_logsoradming_logs_streaming. For any otherstream_typethis value will be ignored.
- A comma-separated list of events to filter by. This can only be used when requesting the events with a
- created_after
Optional[DateTime]- The lower bound date and time to return events for. This can only be used when requesting the events with a
stream_typeofadmin_logs. For any otherstream_typethis value will be ignored.
- The lower bound date and time to return events for. This can only be used when requesting the events with a
- created_before
Optional[DateTime]- The upper bound date and time to return events for. This can only be used when requesting the events with a
stream_typeofadmin_logs. For any otherstream_typethis value will be ignored.
- The upper bound date and time to return events for. This can only be used when requesting the events with a
- extra_headers
Optional[Dict[str, Optional[str]]]- Extra headers that will be included in the HTTP request.
This function returns a value of type Events.
Returns a list of event objects.
Events objects are returned in pages, with each page (chunk)
including a list of event objects. The response includes a
chunk_size parameter indicating how many events were returned in this
chunk, as well as the next stream_position that can be
queried.
Get an event stream for the Box API
This operation is performed by calling function get_event_stream.
client.events.get_event_stream()- query_params
GetEventStreamQueryParams- Query parameters of getEvents method
- headers
GetEventStreamHeaders- Headers of getEvents method
This function returns a value of type EventStream.