Я пытаюсь настроить API.
Я не знаю, как создать экземпляр GuzzleRequest для публикации данных и создания заголовка авторизации для API.Это созданный GuzzleRequest
$request = new GuzzleRequest(
method: 'POST',
uri: $url,
//body:null,
);
Внутри созданного мной экземпляра GuzzleRequest я хочу передать данные внутри параметров тела.
Параметры тела могут принимать: string|resources|null|StreamInterface, но это данные, которые я хочу передать:
{
"payItemId": "S-112-948-MTNMOMO-20052-200040001-1",
"amount": 1000
}
Это полный код функции:
function headerauthorization()
{
$token = "716c3fcf-98bd-435e-a16d-befc3b96da35";
$secret = "9f96a7ed-338f-4609-83f8-27ce60fe87f4";
//$url = "https://s3p.smobilpay.staging.maviance. ... ceid=20052";
$url = "https://s3p.smobilpay.staging.maviance.info/v2/quotestd";
$config = new \Maviance\S3PApiClient\Configuration();
$config->setHost($url);
$client = new \Maviance\S3PApiClient\ApiClient($token, $secret, ['verify' => false]);
$request = new GuzzleRequest(
method: 'POST',
uri: $url,
//body:null,
);
$curl = curl_init();
curl_setopt_array(
$curl,
array(
CURLOPT_URL => 'https://s3p.smobilpay.staging.maviance.info/v2/quotestd',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => array(
'Authorization:' . $client->buildAuthorizationHeader($request) . ''
),
)
);
$response = curl_exec($curl);
curl_close($curl);
$response = json_decode($response, true);
}
Почему я использую GuzzleRequest? Функция buildAuthorizationHeader($request) принимает в качестве параметров только тип RequestInterface. Сначала я попробовал следующий код (метод GET и нет параметров тела) для первого запроса API, и у меня он работает нормально. Но теперь у меня есть метод Post и параметры тела для вставки.
Это первый код, который у меня работает нормально
function headerauthorization()
{
$token = "716c3fcf-98bd-435e-a16d-befc3b96da35";
$secret = "9f96a7ed-338f-4609-83f8-27ce60fe87f4";
$url = "https://s3p.smobilpay.staging.maviance. ... ceid=20052";
$config = new \Maviance\S3PApiClient\Configuration();
$config->setHost($url);
$client = new \Maviance\S3PApiClient\ApiClient($token, $secret, ['verify' => false]);
$request = new GuzzleRequest(
method: 'GET',
uri: $url,
// headers: [],
// body: null,
);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://s3p.smobilpay.staging.maviance. ... ceid=20052',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization:'.$client->buildAuthorizationHeader($request).''
),
)
);
$response = curl_exec($curl);
curl_close($curl);
$response = json_decode($response, true);
$payItemId = $response[0]["payItemId"];
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... zlerequest
Как сделать запрос POST через GuzzleRequest? ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1720057130
Anonymous
Я пытаюсь настроить API.
Я не знаю, как создать экземпляр GuzzleRequest для публикации данных и создания заголовка авторизации для API.Это созданный GuzzleRequest
$request = new GuzzleRequest(
method: 'POST',
uri: $url,
//body:null,
);
Внутри созданного мной экземпляра GuzzleRequest я хочу передать данные внутри параметров тела.
Параметры тела могут принимать: string|resources|null|StreamInterface, но это данные, которые я хочу передать:
{
"payItemId": "S-112-948-MTNMOMO-20052-200040001-1",
"amount": 1000
}
Это полный код функции:
function headerauthorization()
{
$token = "716c3fcf-98bd-435e-a16d-befc3b96da35";
$secret = "9f96a7ed-338f-4609-83f8-27ce60fe87f4";
//$url = "https://s3p.smobilpay.staging.maviance.info/v2/cashin?serviceid=20052";
$url = "https://s3p.smobilpay.staging.maviance.info/v2/quotestd";
$config = new \Maviance\S3PApiClient\Configuration();
$config->setHost($url);
$client = new \Maviance\S3PApiClient\ApiClient($token, $secret, ['verify' => false]);
$request = new GuzzleRequest(
method: 'POST',
uri: $url,
//body:null,
);
$curl = curl_init();
curl_setopt_array(
$curl,
array(
CURLOPT_URL => 'https://s3p.smobilpay.staging.maviance.info/v2/quotestd',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => array(
'Authorization:' . $client->buildAuthorizationHeader($request) . ''
),
)
);
$response = curl_exec($curl);
curl_close($curl);
$response = json_decode($response, true);
}
Почему я использую GuzzleRequest? Функция [b]buildAuthorizationHeader($request)[/b] принимает в качестве параметров только тип [b]RequestInterface[/b]. Сначала я попробовал следующий код (метод GET и нет параметров тела) для первого запроса API, и у меня он работает нормально. Но теперь у меня есть метод Post и параметры тела для вставки.
Это первый код, который у меня работает нормально
function headerauthorization()
{
$token = "716c3fcf-98bd-435e-a16d-befc3b96da35";
$secret = "9f96a7ed-338f-4609-83f8-27ce60fe87f4";
$url = "https://s3p.smobilpay.staging.maviance.info/v2/cashin?serviceid=20052";
$config = new \Maviance\S3PApiClient\Configuration();
$config->setHost($url);
$client = new \Maviance\S3PApiClient\ApiClient($token, $secret, ['verify' => false]);
$request = new GuzzleRequest(
method: 'GET',
uri: $url,
// headers: [],
// body: null,
);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://s3p.smobilpay.staging.maviance.info/v2/cashin?serviceid=20052',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization:'.$client->buildAuthorizationHeader($request).''
),
)
);
$response = curl_exec($curl);
curl_close($curl);
$response = json_decode($response, true);
$payItemId = $response[0]["payItemId"];
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78683970/how-to-make-a-post-request-via-guzzlerequest[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия