watch method
Subscribes to changes to a file.
request
- The metadata request object.
Request parameters:
fileId
- The ID of the file.
acknowledgeAbuse
- Whether the user is acknowledging the risk of
downloading known malware or other abusive files. This is only applicable
when the alt
parameter is set to media
and the user is the owner of
the file or an organizer of the shared drive in which the file resides.
includeLabels
- A comma-separated list of IDs of labels to include in
the labelInfo
part of the response.
includePermissionsForView
- Specifies which additional view's
permissions to include in the response. Only 'published' is supported.
supportsAllDrives
- Whether the requesting application supports both My
Drives and shared drives.
supportsTeamDrives
- Deprecated: Use supportsAllDrives
instead.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a Channel.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<Channel> watch(
Channel request,
core.String fileId, {
core.bool? acknowledgeAbuse,
core.String? includeLabels,
core.String? includePermissionsForView,
core.bool? supportsAllDrives,
core.bool? supportsTeamDrives,
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if (acknowledgeAbuse != null) 'acknowledgeAbuse': ['${acknowledgeAbuse}'],
if (includeLabels != null) 'includeLabels': [includeLabels],
if (includePermissionsForView != null)
'includePermissionsForView': [includePermissionsForView],
if (supportsAllDrives != null)
'supportsAllDrives': ['${supportsAllDrives}'],
if (supportsTeamDrives != null)
'supportsTeamDrives': ['${supportsTeamDrives}'],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'files/' + commons.escapeVariable('$fileId') + '/watch';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return Channel.fromJson(response_ as core.Map<core.String, core.dynamic>);
}