我在 NodeJS 中构建了应用程序,它假设使用谷歌照片 API 将图片上传到谷歌照片,用于身份验证部分我成功了,当我尝试上传图片时遇到问题我收到上传令牌没有问题但是当我尝试使用 mediaItems:batchCreate 它返回:
"status": {
"code": 3,
"message": "Failed: There was an error while trying to create this media item."
}
Run Code Online (Sandbox Code Playgroud)
这是我将图像转换为 base64 的代码:
var base64str = fs.readFileSync('1.jpg', 'base64');
Run Code Online (Sandbox Code Playgroud)
这是我收到上传令牌响应的请求:
request({
method: 'post',
headers: {
'content-type' : 'application/octet-stream',
'Authorization': `Bearer ${userToken}`,
'X-Goog-Upload-File-Name' : '1.jpg',
'X-Goog-Upload-Protocol' : 'raw'
},
url: `https://photoslibrary.googleapis.com/v1/uploads`,
rejectUnauthorized: false,
body: base64str
}, function(err,response,body) {
console.log(body);
});
Run Code Online (Sandbox Code Playgroud)
到这里我没有问题,因为(正文)响应是上传令牌,我收到了它。现在,当我想转到第 2 步请求 mediaItems:batchCreate 时,这里是代码:
let reqObject = {
newMediaItems: [
{
description: "Test Image Uploading",
simpleMediaItem: …Run Code Online (Sandbox Code Playgroud)