亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有請求正文的 WordPress post API

帶有請求正文的 WordPress post API

PHP
元芳怎么了 2024-01-19 16:52:52
我正在嘗試使用他們的 API 向 klaviyo 發出 POST 請求wp_remote_post()。這是他們的指南:網址:POST https://a.klaviyo.com/api/v2/list/{LIST_ID}/members請求示例:{    "api_key": "api_key_comes_here",    "profiles": [        {            "email": "[email protected]",            "example_property": "valueA"        },        {            "email": "[email protected]",            "phone_number": "+12223334444",            "example_property": "valueB"        }    ]}api_key:字符串您帳戶的 API 密鑰。配置文件:JSON 對象列表您要添加到列表中的配置文件。列表中的每個對象都必須有一個電子郵件、電話號碼或推送令牌鍵。您還可以以鍵值對的形式提供其他屬性。這是我嘗試過的:    $profiles = ['email' => $content];    $args = ["api_key" => {API_key},             "profiles" => json_encode($profiles)        ];     $res = wp_remote_retrieve_body( wp_remote_post( 'https://a.klaviyo.com/api/v2/list/{LIST_ID}/members', [        'body'=> $args    ] ));響應是:“無法解析配置文件”我做錯了什么以及如何解決這個問題?
查看完整描述

2 回答

?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

您沒有像示例請求所示那樣對完整的請求正文進行編碼


$args = [

    "api_key" => 'some_api_key_string',

    "profiles" => [

        [

            "email" => "[email protected]",

            "value" => "some value",

        ],

        [

            "email" => "[email protected]",

            "value" => "some other value",

        ]

    ],

];



$listId = 123;


$url = "https://a.klaviyo.com/api/v2/list/{$listId}/members";


$response = wp_remote_post($url, json_encode($args));

這將為您提供如示例中所示的輸出


查看完整回答
反對 回復 2024-01-19
?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

最后,我找到了解決方案:

#1: 將 'content type' => application/json 添加到標頭

#2: 強制將配置文件數組轉換為對象 - 由于行會表示:配置文件參數是 JSON 對象列表

工作代碼:

$args = ["api_key" => "your_API_key",

? ? ? ? ?"profiles" => array(

? ? ? ? ? ? ? ? (object)['email' => '[email protected]']

? ? ? ? ? ? ?)

? ? ? ? ];




? ? $res = wp_remote_retrieve_body( wp_remote_post( 'https://a.klaviyo.com/api/v2/list/you_list_ID/members', [

? ? ? ? 'headers' => ['Content-Type' => 'application/json'],

? ? ? ? 'body' => json_encode($args)

? ? ]));


查看完整回答
反對 回復 2024-01-19
  • 2 回答
  • 0 關注
  • 152 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號