通证检索全部搞清楚了。
将文件上传到Google云端硬盘。
遇到错误
这是我正在使用的powershell命令:
$response = Invoke-RestMethod -Uri "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart" -Method Post -Headers $uploadHeaders -Body $uploadBody
这是变量$ uploadBody的字符串
--314159265358979323846 Content-Type: application/json; charset=UTF-8 { "description": "TestCSV", "name": "test-emp.csv", "originalFilename": "test-emp.csv" } --314159265358979323846 Content-Transfer-Encoding: base64 Content-Type: application/octet-stream c0FNQWNjb3VudE5hbWUsRU1QX05VTQ0KYnNtaXRoLDc3Mzk5Mg0KbHNvbmcsMzM3MTEwDQpnc3Vkbyw2NDkwNTc --314159265358979323846--
此操作失败-仅更改了数据文件:
--314159265358979323846 Content-Type: application/json; charset=UTF-8 { "description": "TestCSV", "name": "csv3.csv", "originalFilename": "csv3.csv" } --314159265358979323846 Content-Transfer-Encoding: base64 Content-Type: application/octet-stream c2VxLGZpcnN0LGxhc3QNCjEsQW15LEJhcmtlcg0KMixMZWUsU2FsYXphcg0KMyxFc3RlbGxhLEtlbm5lZHkNCg --314159265358979323846--
为完整起见,这是$ uploadHeaders的标头IDictionary参数
Name Value ---- ----- Authorization Bearer ya29.GlxbBiz86xKlRnjzQY2z70vHtWfL4sr28BvX-OKio8PbcEfJ0l7tQgx9btNqMdanYXG_WzSD74WD_15903vn0mYO0G0uI8lez5g77Z_W0gKrIRh_s... Content-Type multipart/related; boundary=314159265358979323846 Content-Length 400
我已经阅读了大量有关此内容,并确保有效载荷之前有两个r
n。任何指针将不胜感激!
谢谢!
答案 0 :(得分:0)
上传后,您必须重命名文件。
$sourceFile = 'C:\temp\allisv22018201810101009.csv'
$sourceItem = Get-Item $sourceFile
# If uploading to a Team Drive, set this to 'true'
$supportsTeamDrives = 'false'
# Set the file metadata
$uploadMetadata = @{
originalFilename=$sourceItem.Name
name=$sourceItem.Name
description="TestCSV"
}
# Set the upload headers
$uploadHeaders = @{
Authorization="Bearer $accessToken"
"Content-Type" = "application/json"
}
# Perform the upload
try {
$response = Invoke-RestMethod -Uri "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart" -Method Post -Headers $uploadHeaders -InFile $SourceFile
$urifile = "https://www.googleapis.com/drive/v3/files/$($response.id)"
$renameResponse = Invoke-RestMethod -Uri $urifile -Method Patch -Headers $uploadHeaders -Body '{ "name":"HappyFile.csv" }'
如果成功上传文件,它将返回 $ urifile 中的值,您可以使用该值来重命名文件。