我正在為一家公司使用 API 并完成初始任務,最后一項任務是使用他們的 API 提交我的作業。這就像入職挑戰。引數值之一需要是檔案中所述的物件。
<?php
$myWORK = array (
'Email' => 'MY_EMAIL',
'URL' => 'REPOSITORY_URL',
);
$url = 'https://api.xxxxxxx.com/';
$data = array(
'key' => 'MY_API_KEY',
'base' => 'MY_TOKEN',
'data' => json_decode(json_encode($myWORK), FALSE)
);
$options = array(
'http' => array(
'method' => 'POST',
'content' => http_build_query($data),
'header' => "Content-type: application/x-www-form-urlencoded\r\n"
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
$output = json_decode($result,true);
print_r($ouput);
?>
我需要將其$myWork作為data引數中的值傳遞。它需要是一個物件,我的物件代碼是否正確?我沒有從 API 收到錯誤回應,但它data是空的。請給你的想法..一點幫助。
uj5u.com熱心網友回復:
我懷疑 API 需要 JSON,而不是 url 編碼的資料。
$myWORK = array (
'Email' => 'MY_EMAIL',
'URL' => 'REPOSITORY_URL',
);
$url = 'https://api.xxxxxxx.com/';
$data = array(
'key' => 'MY_API_KEY',
'base' => 'MY_TOKEN',
'data' => $myWORK
);
$options = array(
'http' => array(
'method' => 'POST',
'content' => json_encode($data),
'header' => "Content-type: application/json\r\n"
)
);
無需呼叫json_decode(json_encode($myWORK)),您可以直接將陣列嵌套到$data.
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/498125.html
上一篇:與RestSharp檔案相反,request.AddFile不接受FileParameter作為AddFile的引數。找不到有關如何遷移的任何檔案。有任何想法嗎?
