watch method
Subscribes to changes to a file.
request
- The metadata request object.
Request parameters:
fileId
- The ID for the file in question.
acknowledgeAbuse
- Whether the user is acknowledging the risk of
downloading known malware or other abusive files.
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.
projection
- Deprecated: This parameter has no function.
Possible string values are:
- "BASIC" : Deprecated.
- "FULL" : Deprecated.
revisionId
- Specifies the Revision ID that should be downloaded.
Ignored unless alt=media is specified.
supportsAllDrives
- Whether the requesting application supports both My
Drives and shared drives.
supportsTeamDrives
- Deprecated: Use supportsAllDrives
instead.
updateViewedDate
- Deprecated: Use files.update with
modifiedDateBehavior=noChange, updateViewedDate=true and an empty request
body.
$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.String? projection,
core.String? revisionId,
core.bool? supportsAllDrives,
core.bool? supportsTeamDrives,
core.bool? updateViewedDate,
core.String? $fields,
}) async {
final body_ = convert_1.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 (projection != null) 'projection': [projection],
if (revisionId != null) 'revisionId': [revisionId],
if (supportsAllDrives != null)
'supportsAllDrives': ['${supportsAllDrives}'],
if (supportsTeamDrives != null)
'supportsTeamDrives': ['${supportsTeamDrives}'],
if (updateViewedDate != null) 'updateViewedDate': ['${updateViewedDate}'],
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>);
}