Google Drive上载包含powershell的多部分mime base64编码文件:格式错误的多部分正文错误
令牌检索都解决了 上传文件到谷歌硬盘 获取错误 以下是我正在使用的powershell命令:Google Drive上载包含powershell的多部分mime base64编码文件:格式错误的多部分正文错误,powershell,google-drive-api,Powershell,Google Drive Api,令牌检索都解决了 上传文件到谷歌硬盘 获取错误 以下是我正在使用的powershell命令: $response=Invoke RestMethod-Uri”“-Method Post-Headers$uploadHeaders-Body$uploadBody 下面是变量$uploadBody的字符串 --314159265358979323846 Content-Type: application/json; charset=UTF-8 { "description": "
$response=Invoke RestMethod-Uri”“-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
内容类型:application/json;字符集=UTF-8
{
“说明”:“TestCSV”,
“名称”:“测试emp.csv”,
“原始文件名”:“测试emp.csv”
}
--314159265358979323846
内容传输编码:base64
内容类型:应用程序/八位字节流
C0FNQWnjb3Vude5HBWusru1QX05VTQ0KyntaxRoldc3MZK5Mg0KbHnVBMCSMZM3MTEWDQPNc3VkbyW2NDKWntc
--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--
--314159265358979323846
内容类型:application/json;字符集=UTF-8
{
“说明”:“TestCSV”,
“名称”:“csv3.csv”,
“originalFilename”:“csv3.csv”
}
--314159265358979323846
内容传输编码:base64
内容类型:应用程序/八位字节流
C2VxLGZPCNN0LGXHC3QNCJESQW15LEJHCMTLCG0KMMZWUS2FSYXPHCG0KMYxFC3RLBGXHLETLBM5LZHKNCG
--314159265358979323846--
为了完整起见,这里是$uploadHeaders的标题IDictionary参数
Name Value
---- -----
Authorization Bearer ya29.GlxbBiz86xKlRnjzQY2z70vHtWfL4sr28BvX-OKio8PbcEfJ0l7tQgx9btNqMdanYXG_WzSD74WD_15903vn0mYO0G0uI8lez5g77Z_W0gKrIRh_s...
Content-Type multipart/related; boundary=314159265358979323846
Content-Length 400
名称值
---- -----
授权持有人ya29.GLXBZ86XKLRNJZQY2Z70VHTWFL4SR28BVX-OKio8PbcEfJ0l7tQgx9btNqMdanYXG_WzSD74WD_15903vn0mYO0G0uI8lez5g77Z_W0gKrIRh_s。。。
内容类型多部分/相关;边界=314159265358979323846
内容长度400
我已经读了很多关于这方面的书,并确保在有效载荷之前有两个r
n。任何指点都将不胜感激
谢谢大家! 上传文件后,您必须重命名该文件
$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中的值,您可以使用该值重命名文件。是否上载文件?只需使用
-infle
参数即可。再也不需要手动分割你的文件了。这很有效!非常感谢您,他们是无可救药的!我把它改成这样:这样文件就可以了。但是标题是“无标题的”&我似乎无法改变它。想法?抱歉,我没有早点发布: