質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.41%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

1回答

253閲覧

google driveに格納している画像をwordpressにアップロードする際にエラーが発生する。

Vintage-Select

総合スコア2

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

1クリップ

投稿2024/02/23 19:22

実現したいこと

  • 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}

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

エラーメッセージの

"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"

は、「このファイルタイプをアップロードする権限がありません。」です。

WordPress はファイル名の拡張子でファイルタイプを判断していたと思いますが、 fileName に入っているファイル名はどのような名前でしょうか。
ファイル名に拡張子はついていますか。

投稿2024/02/24 06:04

CHERRY

総合スコア25201

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Vintage-Select

2024/02/25 18:49

ありがとうございますfilenameに拡張しをつけておらずでした!つけたら解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.41%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問