http - 通过 Drive API 从 URL 上传图片
问题描述
我正在使用 Postman 来学习如何使用 Google Drive API。
我正在尝试将 API 上传到 URL 中的图像。我正在使用此文档链接中描述的分段上传,但我不清楚该示例,我可以上传带有我正在传递的元数据的文件,但我放置的 URL 的图像没有被发送。
请帮助我理解我做错了什么。以下是我的请求的代码。
POST /upload/drive/v3/files?uploadType=multipart HTTP/1.1
Host: www.googleapis.com
Content-length: *
Authorization: [myToken]
Content-Type: multipart/related; boundary=test
Cache-Control: no-cache
Postman-Token: [postmanToken]
--test
Content-Type: application/json; charset=UTF-8
{
"name": "imageTest",
"parents": ["1Ij0ZR8yrubkHQaT6tSQNgK6AhW4gbP49"]
}
--test
Content-Type: image/*
https://download.shutterstock.com/gatekeeper/W3siZSI6MTUzNjcwMzQ0NSwiayI6InBob3RvLzEwMDcwNjYwMjMvaHVnZS5qcGciLCJtIjoxLCJkIjoic2h1dHRlcnN0b2NrLW1lZGlhIn0sInR3UkJ0bDZNYUJNUXJ2azZlaE9MbTZlT2VBbyJd/shutterstock_1007066023.jpg
--test--
解决方案
我怀疑您是否能够使用 Postman 上传文件。它必须先读取文件,然后分块发送文件数据。
谷歌为此提供的所有示例都是使用编程语言,没有直接使用 HTTP 调用文件上传的示例
如果它确实有效,你会看到这样的东西。您仍然需要一些语言来读取文件内容并将其添加到其中。
POST / HTTP/1.1
[[ Less interesting headers ... ]]
Content-Type: multipart/form-data; boundary=---------------------------735323031399963166993862150
Content-Length: 834
-----------------------------735323031399963166993862150
Content-Disposition: form-data; name="text1"
text default
-----------------------------735323031399963166993862150
Content-Disposition: form-data; name="text2"
aωb
-----------------------------735323031399963166993862150
Content-Disposition: form-data; name="file1"; filename="a.txt"
Content-Type: text/plain
Content of a.txt.
-----------------------------735323031399963166993862150
Content-Disposition: form-data; name="file2"; filename="a.html"
Content-Type: text/html
<!DOCTYPE html><title>Content of a.html.</title>
-----------------------------735323031399963166993862150
Content-Disposition: form-data; name="file3"; filename="binary"
Content-Type: application/octet-stream
aωb
-----------------------------735323031399963166993862150--
推荐阅读
- android - Android Studio 4.1 中的错误代码不会变成红色,也没有建议纠正它
- node.js - NodeJS @azure/service-bus:如何为消息更新锁
- ios - SwiftUI | 如果被 ScrollView 取消,则从不调用 DragGestures onEnded
- python - python在开放式办公室中自动填写导入文本
- chisel - 如何在凿子中初始化向量
- docker - Spinnaker 构建不会在重新推送现有标签(如最新)时触发
- python - python中的电报对话机器人
- javascript - Firebase 云函数返回空集合
- powershell - Powershell 显示弹窗并在循环中不断更新弹窗的主体
- c++ - 具有唯一指针的深浅克隆