javascript — невозможно загрузить изображение с помощью Google Photos API с помощью NodeJS

Не удается загрузить изображение с помощью API Google Фото с помощью NodeJS

У меня есть приложение, встроенное в NodeJS. Предполагается, что вы можете загружать изображения на фотографии Google с помощью API Google Photos для части аутентификации. Я успешно справляюсь, у меня проблема, когда я пытаюсь загрузить изображения, я получаю маркер загрузки без проблем, но когда я пытаюсь использовать mediaItems: batchCreate возвращает:

 "status": { "code": 3, "message": "Failed: There was an error while trying to create this media item." } 

Вот мой код для преобразования изображения в base64:

 var base64str = fs.readFileSync('1.jpg', 'base64'); 

И вот запрос, где я получаю ответ на загрузочный токен:

 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); }); 

До сих пор у меня нет проблемы, потому что (тело) ответ является токеном загрузки, и я получаю его. Теперь, когда я хочу перейти к шагу # 2, чтобы запросить mediaItems: batchCreate вот код:

 let reqObject = { newMediaItems: [ { description: "Test Image Uploading", simpleMediaItem: { uploadToken: body //Body is the upload token received from prev request } } ] }; let reqObjectString = JSON.stringify(reqObject); request({ method: 'post', headers: { 'content-type' : 'application/json', 'Authorization': `Bearer ${userToken}`, }, url: `https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate`, rejectUnauthorized: false, body: reqObjectString }, function(err,response,result) { console.log(result); }); 

Ожидаемый результат здесь, это, как предполагается, будет успешной загрузкой медиа, но вместо этого я всегда получаю этот ответ:

 { "newMediaItemResults": [ { "uploadToken": "CAISmQMASsyg4MwSgB2y46/QI2yAAfw/uSeHZaiwGaskaT9J3SEvOtBg4bkOb9Fd0WMhE5OML8aMJMGZWNyC3Di/woTjLGD/VJMtKBk7bg1ZyK5CA 92vk0mjUWVR2LQhhTkEs02aHRr6EkCER3rxk3AqkhC bxTIViLerUeoKigdlqozrEJXyCLM5U Eqjdidi0e0hEFeLqs8Yz0V8YpyWQnN zZUp/ R4pVT9fPXUOyNlsTj5OcMLrtC3Z/W9YnKhQA0O8io8LtmMBJTf04v3YPEtoNvJTd k5Ux7qWQYJCS60V1R hPl76jlryos3gnVaaCxHGH/TIMmtwo2zDH vXTyktMhr82hdMON3Mm2PCfSbJawCLuHSNND9vojO11FEs7LVXAfY1UDDzVXwv4VV8tG9F3tQVI8/4YlkR KJUjaX6/E4ZFWx67E swqh16HN1RXXU211eCl36mPxsX35IGPEwvhpZ89LKfk NU1fVuHB pNLMNQ mZOkKs0v6VLcN nyMpOwjAstg4QUSJdCP virY1a2uGKwYJh", "status": { "code": 3, "message": "Failed: There was an error while trying to create this media item." } 

Может кто-нибудь помочь, заранее спасибо

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector