第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Google Photos API 中的 newMediaItemResults 出現(xiàn)錯(cuò)誤

Google Photos API 中的 newMediaItemResults 出現(xiàn)錯(cuò)誤

湖上湖 2023-10-14 18:58:57
我能夠在 上獲取上傳令牌和 200 狀態(tài)代碼batchCreate。然而,詳細(xì)的回應(yīng)是這樣的;{  "newMediaItemResults": [    {      "uploadToken": "CAISqQMAqD4uLZF/uW6bVfUSjQTCRLEgg9ngZv9lS/VqwBw3puvDr2+FGxes9bCQ6VRS8Wd3hdm1sqmZ07CAclBbqR2S+JqRJoOS820km7RHGlZvODMcg1e+U5aFx5I+w59lz0NoyfmaUq4FQ7TqaoTqkW7vgOd2+s5z9qZtAYbqovR7+Az6xfUoZ7wZGwVnDDC0Q9Naf/Qu9qOo3yemZ/jVyE5gMpTj4jtAd+cb4DBCtWLK5cZREJUq18wiB3MqojF5Kv7UOo15dxgRTMR3lib+3s6W+BlBTc1LjZ7WSAr6PX1kA/wgxz74Cpo4neM4WRwPp5E+mSSHCGHpFzPKE8t5xpN71aOrM1d8WoT0jZApnDCAv5ggMUteli9BNSTZSPcZb7AJNUAssUKsDfb0F9NoZedDfrQZUlGH0UqYjj7X74Uk7qMtDCp2XS65LuiUNS2VCkOZydPg2Vtapvpgo/n+h2ib00+e3ci+H1+Zlo7OMH+j99TZof7p7fOdnOcQ2vF+EATdG4p6DatxFvE1op/M8hfvgVAYqV9h6aWUzxIDNKRSy1JKFcM7LO5DIA",      "status": {        "code": 3,        "message": "Failed: There was an error while trying to create this media item."      }    }  ]}有人可以向我解釋一下我做錯(cuò)了什么嗎?下面是上傳功能的代碼;uploadImages(images, token) {        const promises = Array.from(images).map(image => {            const formData = new FormData();            formData.append('media-binary-data', image);            console.log(formData);            return axios.post(`${UPLOAD_URL}`, formData, {                headers: {                    'Content-Type': "application/octet-stream",                    'X-Goog-Upload-File-Name': '',                    'X-Goog-Upload-Protocol': "raw",                    'Authorization': `Bearer ${token}`,                },            }).then((response) => {                return axios.post('https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate',                    {                        "newMediaItems": [                            {                                "description": "item-description",                                "simpleMediaItem": {                                    "uploadToken": response.data                                }                            }                        ]
查看完整描述

1 回答

?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

我相信你的目標(biāo)如下。

  • 您想要使用 axios 和 Javascript 使用 Google Photo API 將圖像文件上傳到 Google Photo。

  • images是來自.?const promises = Array.from(images).map(image => {_document.getElementById("###").files<input type="file" id="files" name="file" multiple>

修改要點(diǎn):

  • 從您的錯(cuò)誤消息來看,我認(rèn)為文件可能無法正確上傳。

    • 在此修改后的腳本中,FormData()未使用。

  • 在“mediaItems.batchCreate”方法中,多個(gè)文件上傳后,它們的文件可以用于一次API調(diào)用。

  • 請(qǐng)求體的內(nèi)容類型https://photoslibrary.googleapis.com/v1/mediaItems:batchCreateapplication/json。所以在這種情況下,請(qǐng)使用JSON.stringify請(qǐng)求正文。

當(dāng)以上幾點(diǎn)反映到您的腳本中時(shí),它會(huì)變成如下所示。在此修改中,作為示例情況,添加了 HTML 標(biāo)簽。

修改后的腳本:

HTML 端:

<input?type="file"?id="files"?name="file"?multiple>
<input?type="button"?onclick="run()"?value="ok">

JavaScript 方面:

請(qǐng)將您的訪問令牌設(shè)置為token。

function uploadImages(images, token) {

? const promises = Array.from(images).map(image => {

? ? return new Promise(r => {

? ? ? axios.post("https://photoslibrary.googleapis.com/v1/uploads", image, {

? ? ? ? headers: {

? ? ? ? ? 'Content-Type': "application/octet-stream",

? ? ? ? ? 'X-Goog-Upload-File-Name': image.name,

? ? ? ? ? 'X-Goog-Upload-Protocol': "raw",

? ? ? ? ? 'Authorization': `Bearer ${token}`,

? ? ? ? }

? ? ? }).then((response) => {

? ? ? ? r({description: "item-description", simpleMediaItem: {fileName: image.name, uploadToken: response.data}});

? ? ? });

? ? });

? });

? return Promise.all(promises).then(e => {

? ? return new Promise((resolve, reject) => {

? ? ? axios.post('https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate',

? ? ? ? JSON.stringify({newMediaItems: e}),

? ? ? ? {headers: {'Content-type': 'application/json', 'Authorization': `Bearer ${token}`},

? ? ? })

? ? ? .then(resolve)

? ? ? .catch(reject);

? ? });

? });

}


// This function is run.

function run() {


? const token = "###";? // Please set your access token.


? const files = document.getElementById("files").files;

? uploadImages(files, token)

? .then(e => console.log(e))

? .catch(err => console.log(err));

}

筆記:

  • 在此修改后的腳本中,假設(shè)您的訪問令牌可用于使用 Google Photo API 將圖像文件上傳到 Google Photo。請(qǐng)小心這一點(diǎn)。

  • 在此修改后的腳本中,作為示例情況,添加了 HTML 標(biāo)簽。在我的環(huán)境中,我可以確認(rèn)上述修改后的腳本有效。但我認(rèn)為上面的 HTML 標(biāo)簽可能與您的實(shí)際情況有所不同。所以請(qǐng)根據(jù)您的實(shí)際情況修改上面的腳本。

查看完整回答
反對(duì) 回復(fù) 2023-10-14
  • 1 回答
  • 0 關(guān)注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)