Google Photos API 允许开发者访问和管理用户的照片库。newMediaItem
是一个用于上传新照片或视频到 Google Photos 库的请求参数。
newMediaItem
上传新的照片或视频。newMediaItem
原因:这个错误通常是因为在上传请求中没有包含 newMediaItem
参数,或者 newMediaItem
参数格式不正确。
解决方法:
newMediaItem
参数,并且格式正确。以下是一个使用 Python 和 Google Photos API 上传照片的示例代码:
import requests
import json
# 替换为你的访问令牌
access_token = 'YOUR_ACCESS_TOKEN'
# 替换为你要上传的照片路径
photo_path = 'path/to/your/photo.jpg'
# 读取照片文件
with open(photo_path, 'rb') as photo_file:
photo_data = photo_file.read()
# 构建请求头
headers = {
'Authorization': f'Bearer {access_token}',
'Content-Type': 'application/json; charset=utf-8'
}
# 构建请求体
request_body = {
"newMediaItems": [
{
"description": "Uploaded via API",
"simpleMediaItem": {
"fileName": photo_path.split('/')[-1],
"mimeType": "image/jpeg",
"uploadToken": ""
}
}
]
}
# 发送请求
response = requests.post('https://photoslibrary.googleapis.com/v1/uploads', headers=headers, data=json.dumps(request_body))
# 获取 uploadToken
upload_token = response.json()['uploadToken']
# 完成上传
complete_request_body = {
"newMediaItems": [
{
"description": "Uploaded via API",
"simpleMediaItem": {
"fileName": photo_path.split('/')[-1],
"mimeType": "image/jpeg",
"uploadToken": upload_token
}
}
]
}
complete_response = requests.post('https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate', headers=headers, data=json.dumps(complete_request_body))
print(complete_response.json())
通过以上步骤,你应该能够成功上传照片并避免 请求必须至少有一个 newMediaItem
的错误。
领取专属 10元无门槛券
手把手带您无忧上云