Exports a Google Doc to the requested MIME type and returns the exported content. Please note that the exported content is limited to 10MB.
(Export only supports Google Docs) See https://developers.google.com/drive/v3/web/manage-downloads for a list of MIME types.
require 'chilkat'
rest = Chilkat::CkRest.new()
# Provide a previously obtained OAuth2 access token.
oauth2 = Chilkat::CkOAuth2.new()
oauth2.put_AccessToken("OAUTH2_ACCESS_TOKEN")
rest.SetAuthOAuth2(oauth2)
success = rest.Connect("www.googleapis.com",443,true,true)
if (success != true)
print rest.lastErrorText() + "\n";
exit
end
rest.AddQueryParam("mimeType","application/pdf")
# First send the HTTP request.
success = rest.SendReqNoBody("GET","/drive/v3/files/1zvzpTHO1dM9vNKYxpmr4YrX7x_R6qiNGFb8WB8h9wuI/export")
if (success != true)
print rest.lastErrorText() + "\n";
exit
end
# Read the response header. If the response status code is success, stream to the file.
# Otherwise receive the error response text.
statusCode = rest.ReadResponseHeader()
if (statusCode < 0)
print rest.lastErrorText() + "\n";
exit
end
if (statusCode != 200)
print "Received error response code: " + statusCode.to_s() + "\n";
# Read the error response body.
sbErrResponse = Chilkat::CkStringBuilder.new()
success = rest.ReadRespSb(sbErrResponse)
if (success != true)
print rest.lastErrorText() + "\n";
exit
end
print "Error response:" + sbErrResponse.getAsString() + "\n";
exit
end
# Stream the response body to the output file.
respBodyStream = Chilkat::CkStream.new()
respBodyStream.put_SinkFile("/someDirectoryPath/test.pdf")
success = rest.ReadRespBodyStream(respBodyStream,true)
if (success != true)
print rest.lastErrorText() + "\n";
exit
end
print "Example Completed." + "\n";