-2

我正在使用 django 建立一个 python web 架构。我已经使用 urllib2 和requests库成功地将文本插入到我的时间轴中。我现在正在尝试使用请求库发送图像,最好是视频。

这是我的身体

body = {'--':'2bbcee47b4e94819a3a47eeb8967e244',
        'Content-Type' : 'application/json',
        'text':'Hello World',
        '--':'2bbcee47b4e94819a3a47eeb8967e244',
        'Content-Type': 'image/jpeg',
        'Content-Transfer-Encoding':'binray',
        '--':'2bbcee47b4e94819a3a47eeb8967e244'}
header = 'Content-Type': 'multipart/related; boundary=2bbcee47b4e94819a3a47eeb8967e244', 'Authorization': 'Bearer %s' % access_token}
files = {'file': open('555.jpg', 'rb')}
r = requests.post(upload_url,data=body, headers=headers)

这将返回:

{
 "error": {
  "errors": [
   {
   "domain": "global",
   "reason": "badContent",
   "message": "Media type 'multipart/related; boundary=2bbcee47b4e94819a3a47eeb8967e244'         is not supported. Valid media types: [image/*, audio/*, video/*]"
   }
  ],
  "code": 400,
   "message": "Media type 'multipart/related; boundary=2bbcee47b4e94819a3a47eeb8967e244'is not supported. Valid media types: [image/*, audio/*, video/*]"
  }
}

我知道这是返回错误的请求;我不知道为什么。此外,我 POST 到的 url 是 upload_url = ' https://www.googleapis.com/upload/mirror/v1/timeline?uploadType=media '

注意:我运行了 curl 命令,结果相同。

4

1 回答 1

0

您正在将请求发送到正确的端点,但 URL 参数错误:它应该uploadType=multipartuploadType=media

POST https://www.googleapis.com/upload/mirror/v1/timeline?uploadType=multipart

这在我们的文档中有所描述。

于 2013-07-12T16:19:22.733 回答