Я работаю над интеграцией Walmart Api, используя Laravel 7. Я также установил GuzzleHttp. Я использовал DigitalSignatureUtil.jar для создания WM_SE C .AUTH_SIGNATURE и WM_SE C .TIMESTAMP. Он отлично работает для получения данных в json в первый раз. Ниже приведен код.
$client = new GuzzleHttp\Client();
$res = $client->request('GET', 'https://marketplace.walmartapis.com/v3/feeds', [
'headers' => [
'WM_SVC.NAME' => 'walmart market place',
'WM_CONSUMER.ID' => '#########',
'WM_QOS.CORRELATION_ID' => '########',
'WM_CONSUMER.CHANNEL.TYPE' => '######',
'WM_SEC.AUTH_SIGNATURE' => '#######',
'WM_SEC.TIMESTAMP' => '1596290047006',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
]
]);
$products = json_decode((string) $res->getBody(), true);
return view('product', compact('products'));
ПРИМЕЧАНИЕ. Но он дает ошибки, если я использую код на следующий день или через несколько минут. Я получаю следующую ошибку:
GuzzleHttp\Exception\ClientException
Client error: `GET https://marketplace.walmartapis.com/v3/feeds` resulted in a `401 Unauthorized`
response: {"error": [{"code":"UNAUTHORIZED.GMP_GATEWAY_API",
"field":"UNAUTHORIZED","description":"Unauthorized","info":"Unauthorize (truncated...)
Пожалуйста, помогите мне, что мне делать, чтобы избавиться от этого?