upload method
- CreateAttachmentRequest request,
- String parent, {
- String? $fields,
- Media? uploadMedia,
Create a file attachment on a case or Cloud resource.
The attachment must have the following fields set: filename
. EXAMPLES:
cURL: ```shell echo "This text is in a file I'm uploading using CSAPI." \
"./example_file.txt" case="projects/some-project/cases/43594844" curl
--header "Authorization: Bearer $(gcloud auth print-access-token)"
--data-binary @"./example_file.txt"
"https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt"Python:
python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) file_path = "./example_file.txt" with open(file_path, "w") as file: file.write( "This text is inside a file I'm going to upload using the Cloud Support API.", ) request = supportApiService.media().upload( parent="projects/some-project/cases/43595344", media_body=file_path ) request.uri = request.uri.split("?")0
+ "?attachment.filename=uploaded_via_python.txt" print(request.execute())
[request] - The metadata request object.
Request parameters:
[parent] - Required. The name of the case or Cloud resource to which the
attachment should be attached.
Value must have pattern `^\[^/\]+/\[^/\]+/cases/\[^/\]+$`.
[$fields] - Selector specifying which fields to include in a partial
response.
[uploadMedia] - The media to upload.
Completes with a [Attachment].
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<Attachment> upload(
CreateAttachmentRequest request,
core.String parent, {
core.String? $fields,
commons.Media? uploadMedia,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if ($fields != null) 'fields': [$fields],
};
core.String url_;
if (uploadMedia == null) {
url_ = 'v2/' + core.Uri.encodeFull('$parent') + '/attachments';
} else {
url_ = '/upload/v2/' + core.Uri.encodeFull('$parent') + '/attachments';
}
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
uploadMedia: uploadMedia,
uploadOptions: commons.UploadOptions.defaultOptions,
);
return Attachment.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}