我正在用提供的api創建一個用戶。我正在使用Laravel,并試圖將資料存盤到Smartrmail,創建新用戶的檔案在這里 https://docs.smartrmail.com/en/articles/636615-list-subscribers。 每次我發送請求時,我都會得到以下錯誤:
Server error: `POST https://go.smartrmail.com/api/v1/lists/1sptso/list_subscribers`導致`500 Internal Server Error`回應。{"error": "param is missing or the value is empty: subscribers"}.
{"error": "param is missing or the value is empty: subscribers"}
我使用的是Laravel,我的代碼在這里
。Route::get('smartrmail',function(){
$headers = [
'Accept' => 'application/json'。
'Authorization' => 'token f91715d5-3aac-4db3-a133-4b3a9493a9a4'。
'Content-Type' => 'application/json',
];
$client = new GuzzleHttpClient([
'headers' => $headers
]);
$data = [
"subscribers"=>[
[
"email"=> "[email protected]"。
"first_name"=> "van"。
"last_name"=> "halen"。
"subscribed"=> true。
]
]
];
$res = $client->request('POST'/span>, 'https://go.smartrmail.com/api/v1/lists/1sptso/list_subscribers'/span>, [
'form_params' => ['form_params' =>
$datareturn($res)。
// echo $res->getStatusCode();.
});
誰能幫我找出這里的問題。我是按照這個檔案 https://docs.smartrmail.com/en/articles/636615-list-subscribers 來創建一個新的訂閱者
。uj5u.com熱心網友回復:
代替
'form_params' => [...
$data
使用
'json' => $data
解釋
你想發送json資料(我認為這是因為你設定了頭檔案'Content-Type' => 'application/json',這意味著你要發送json),但form_params是用于application/x-www-form-urlencoded。
json設定頭為application/json并以json的形式發送資料。
由于你設定了適當的頭,這也應該可以作業:
'body' => $data
引數的正確名稱你可以在Guzzle檔案中找到,我使用了上傳資料部分。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/326899.html
標籤:
