#php #curl #terminal
Вопрос:
У меня есть следующая команда php curl:
// GET TOKEN
$ch = curl_init('https://api.meinbuero.de/openapi/auth/token');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERPWD, $wisoApiKey . ":" . $wisoSecretApiKey);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array('ownershipId' => $wisoOwnershipId)) );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
$myToken = $response['token'];
// GET CUSTOMER
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , 'Authorization: Bearer '.$myToken));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERPWD, $wisoApiKey . ":" . $wisoSecretApiKey);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, 'https://api.meinbuero.de/openapi/customer?'.http_build_query(
array(
'offset' => 0,
'limit' => 10,
'orderBy' => 'name',
'desc' => 'false',
'search' => ''
)));
$response = json_decode(curl_exec($ch),true);
curl_close($ch);
echo $response;
Теперь мне нужны эти команды curl (для тестирования) в качестве команды, которую я могу отправить через терминал.
ЧТОБЫ получить ток, я успешно попробовал это:
curl -X POST "https://api.meinbuero.de/openapi/auth/token" -H "accept: application/json" -H "Content-Type: application/json" -d "{"ownershipId":"XYZ"}" -u WISO_API_KEY:WISO_SECRET_API_KEY
Но чем я хотел бы привлечь клиентов:
curl -X GET "https://api.meinbuero.de/openapi/customer?offset=0amp;search=amp;limit=20amp;orderBy=titleamp;desc=true" -H "accept: application/json" -H "Content-Type: application/json" -u WISO_API_KEY:WISO_SECRET_API_KEY -H "Authorization: Bearer MY_TOKEN"
Я получил сообщение:
Unauthorized%
Комментарии:
1. Я почти уверен, что пространство перед
WISO_SECRET_API_KEY
ним не нужно.2. Всего один простой вопрос. Почему бы вам не вызвать этот PHP-скрипт из CLI?
3. Вы знаете, что можете выполнять PHP-скрипты из интерфейса командной строки/терминала, верно?
4. потому что поставщик api означает, что проблема, которая у меня была, исходит от моего сервера. Теперь я хотел бы запустить curl с другой машины, без php и через терминал, чтобы проверить это
5. пробел перед WISO_SECRET_API_KEY был моей ошибкой в посте. Я изменил это