実現したいこと
- google driveに格納している画像をrest apiを用いてwordpressにメディアとしてアップロードできるようにしたい。
発生している問題・分からないこと
google driveからの画像アップロード時のみエラーが発生する
エラーメッセージ
error
1Error uploading image: {"code":"rest_upload_sideload_error","message":"\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093\u3002","data":{"status":500}}
該当のソースコード
gas
1function uploadImage(imageUrl, headers, mediaApiUrl) { 2 try { 3 var imageResponse = UrlFetchApp.fetch(imageUrl); 4 var imageBlob = imageResponse.getBlob(); 5 var fileName = imageUrl.split('/').pop(); 6 7 // 画像のバイナリデータを直接ペイロードとして設定 8 var options = { 9 'method': 'POST', 10 'headers': Object.assign({}, headers, { 11 'Content-Disposition': 'attachment; filename=' + fileName, 12 'Content-Type': 'image/png' 13 }), 14 'payload': imageBlob, 15 'muteHttpExceptions': true 16 }; 17 18 var response = UrlFetchApp.fetch(mediaApiUrl, options); 19 if (response.getResponseCode() == 201) { 20 var mediaId = JSON.parse(response.getContentText()).id; 21 return mediaId; 22 } else { 23 Logger.log("Error uploading image: " + response.getContentText()); 24 return null; 25 } 26 } catch (e) { 27 Logger.log("Error fetching image URL: " + imageUrl + " | Error: " + e.toString()); 28 return null; 29 } 30} 31 32
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
google driveにアップロードした画像のURLをそのまま使用するとアップロードできないという記事は見かけたので、下記のようにURLは変換していました。
http://drive.google.com/uc?export=view&id={ID}
補足
特になし
![guest](/img/icon/icnUserSample.jpg)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/02/25 18:49