前提・実現したいこと
スプレッドシート(googleappsscript)かWordPressへ記事を投稿したい
発生している問題・エラーメッセージ
{"code":"rest_cannot_create","message":"\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u3068\u3057\u3066\u6295\u7a3f\u3092\u7de8\u96c6\u3059\u308b\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093\u3002","data":{"status":401}}
下記URLで変換後のメッセージ
https://so-zou.jp/web-app/text/encode-decode/
{"code":"rest_cannot_create","message":"このユーザーとして投稿を編集する権限がありません。","data":{"status":401}}
該当のソースコード
//****の部分は実際には正しい(と思われる)ものを入れています。
GAS
1function POST_API() { 2 3 var URL = 'http://www.****/wp-json/wp/v2/posts' 4 var username = '****' 5 var pass = 'vq6y BTf7 Sv7D Eph8 C4Fe NbjB' 6 7 var method = 'POST' 8 9 var headers = { 10 'Authorization': 'Basic '+ Utilities.base64Encode(username + ':' + pass) 11 }; 12 13 var body = { 14 'title' : 'title', 15 'content' : 'hogehoge', 16 'status' : 'publish' 17 } 18 19 var options = { 20 'method' : method, 21 'headers': headers, 22 'body' : body, 23 'muteHttpExceptions': true 24 }; 25 26 27 28 var response = UrlFetchApp.fetch(URL,options); 29 Logger.log(response) 30 31}
試したこと
Application Passwordsは有効化済み
ユーザーネームパスワードも発行済
https://ja.wordpress.org/plugins/application-passwords/
下記のサイトを参考に自分なりにPHP⇒GASに書き換えを試みてみたがうまくいきませんでした。
https://it-engineer-lab.com/archives/312
http://ja.wp-api.org/extending/javascript-client/
追記:
https://www.tam-tam.co.jp/tipsnote/cms/post10274.html
上記を参考に下記のコマンドを叩いてみましたが、エラーのメッセージは同じでした。
IDパスワードが間違っているのかな?とも考えて新規にユーザーを追加して見ましたが、結果は同じでした。
curl --header "Authorization: Basic ****************" -X POST -d "title=From API" http://*********/wp-json/wp/v2/posts
プラグインが影響しているのかと思い、全て無効にしたり、
関係しそうなセキュリティ関係のものを無効にしたりしましたが変化はありませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー