初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2024-01-25 19:41:30

URLから挿入を使って、wordpress(REST API)へcURLにてPOST(新規記事作成)を行いたい

MacOS13.5(Ventura)・FileMaker18.19

FileMakerのURLから挿入を使ってワードプレスへ記事を投稿したいですが、うまくいきません。
-----------------------------------------

Macのターミナルを開いて下記を実行してみたら記事ができましたのでサーバ側が対応していないことはないと思っています。

curl --user ★user★:★アプリケーションpassword★ \
-X POST \
'https://ワードプレスのURL.com/wp-json/wp/v2/posts/'\
-H "Content-Type: application/json" \
-d '{"title": "MyTitle001", "content": "MyBody", "status": "publish"}'

-----------------------------------------
Clarisにあった資料からファイルメーカー用に整形してみたのですがうまくいきませんでした。

URLから挿入[オプション]の
URLを指定に (URLを自動的にエンコードにはチェック)
"https://ワードプレスのURL.com/wp-json/wp/v2/posts/"



URLから挿入[オプション]の

cURL オプションの指定に
"--user ★user★:★アプリケーションpassword★" &
" -X POST" &
" -H \"Content-Type: application/json\" "&
" -d \"{\"title\": \"MyTitle001\", \"content\": \"MyBody\", \"status\": \"publish\"}\" "


どこか入力の場所が違うとか文法が違うとかの原因でしょうか?

Offline

#2 2024-01-26 09:45:58

VV
Guest

Re: URLから挿入を使って、wordpress(REST API)へcURLにてPOST(新規記事作成)を行いたい

とりあえず、"&"をぬいて試してみてください。
```
"--user ★user★:★アプリケーションpassword★
-X POST
-H \"Content-Type: application/json\"
-d \"{\"title\": \"MyTitle001\", \"content\": \"MyBody\", \"status\": \"publish\"}\""
```
これでできたら、&を使って、変数や、フィールドに置き換えていきましょう。

#3 2024-01-26 19:17:45

himadanee
Guest

Re: URLから挿入を使って、wordpress(REST API)へcURLにてPOST(新規記事作成)を行いたい

>" -d \"{\"title\": \"MyTitle001\", \"content\": \"MyBody\", \"status\": \"publish\"}\" "
これだと計算結果が
-d "{"title":"~~~
のようになりますから、
-d "{"
でデータが終わってしまいますよね。
\でエスケープだったと思いますが、そうだとすれば
" -d \"{\\\"title\\\":~~~
のようになります。

#4 2024-01-26 23:02:26

qb_dp
Member

Re: URLから挿入を使って、wordpress(REST API)へcURLにてPOST(新規記事作成)を行いたい

以下とか試してみては。

"-d '{\"title\": \"MyTitle001\", \"content\": \"MyBody\", \"status\": \"publish\"}'"

Offline

#5 2024-01-28 12:16:52

Re: URLから挿入を使って、wordpress(REST API)へcURLにてPOST(新規記事作成)を行いたい

参考と考察ありがとうございます。
提案いただいた内容を3日間いろいろ試してみたのですがどうも動作が確認できませんでした。

行き詰まってしまったので他のコマンドも試してみて少し前に進めました。のでご報告させてください。
-------------------------------------
Macターミナルにて 記事削除 のcurl OK
curl -X DELETE --user ★user★:★アプリケーションpassword★ https://ワードプレスのURL.com/wp-json/wp/v2/posts/記事ID

ファイルメーカーで
・URLから挿入[オプション]の
URLを指定に https://ワードプレスのURL.com/wp-json/wp/v2/posts/記事ID
URLから挿入[オプション]の
・cURL オプションの指定に
"-X DELETE --user ★user★:★アプリケーションpassword★"
でFMPから削除ができました!

-------------------------------------
次に 記事の更新 を試してみました。
記事更新 Macターミナルにて 下記でできました。
curl --user ★user★:★アプリケーションpassword★ \
  -X POST \
  'https://ワードプレスのURL.com/wp-json/wp/v2/posts/記事ID'\
  -H "Content-Type: application/json" \
  -d '{"title": "MacターミナルでAPIで更新", "content": "MyBodyも更新", "status": "publish"}'
更新できました!

ファイルメーカーに変換して
・URLから挿入[オプション]の
URLを指定に https://ワードプレスのURL.com/wp-json/wp/v2/posts/記事ID
URLから挿入[オプション]の
・cURL オプションの指定に
"
-X POST --user mediapro:U3lgI5ZGbKuQuN5gepVgitVr -H Content-Type: application/json -d \"{\"title\": \"題名更新したい\", \"content\": \"Bodyも更新したい\", \"status\": \"publish\"}\"
"
としましたら、更新はされないものの シンタックスエラーもなしでレスポンスが帰ってきました。

-d からのデータ部分が渡せていない(消失?)ような気が
ちなみに Content-Type: application/json をFMP用に \"Content-Type: application/json\" と記入すると
{
    "code" : "rest_invalid_json",
    "data" :
    {
        "json_error_code" : 4,
        "json_error_message" : "Syntax error",
        "status" : 400
    },
    "message" : "無効な JSON ボディが渡されました。"
}
となったので \" を省いて操作しました。

Offline

#6 2024-01-28 13:12:39

himadanee
Guest

Re: URLから挿入を使って、wordpress(REST API)へcURLにてPOST(新規記事作成)を行いたい

>-X POST --user mediapro:U3lgI5ZGbKuQuN5gepVgitVr -H Content-Type: application/json -d \"{\"title\": \"題名更新したい\", \"content\": \"Bodyも更新したい\", \"status\": \"publish\"}\"

これだと
>-H Content-Type: application/json
のところにスペースがあるのでーHの値が「Content-Type:」だけになってしまいます。
指摘済みですが、-dの値は-d \"{\" で終わっています。

-dの値はエスケープがややこしくなるので、変数に入れて渡すのが分かりやすかった気がします。

Macなので#4のシングルクオートでも行けるかもしれませんが、Windowsではダブルでないとだめだったと思います。(FM18ぐらいまで。その後のバージョンでは試してません。)

#7 2024-01-28 18:39:20

Re: URLから挿入を使って、wordpress(REST API)へcURLにてPOST(新規記事作成)を行いたい

一旦、ありがとうございます。
少し別の方法も考えてみたいと思います。
いろいろとありがとうございます。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 522.02 KiB (Peak: 526.92 KiB) ]