Я пытаюсь подключить ресторан API с моим проектом от Laravel.
Я использовал класс HTTP от Facade и получаю сообщение «Неверная попытка входа в систему». < /p>
array:1 [▼
"error" => array:2 [▼
"code" => "INVALID_LOGIN_ATTEMPT"
"message" => "Invalid login attempt."
]
]
< /code>
Это мой блок-код: < /p>
use Illuminate\Support\Facades\Http;
public function test() {
$realm = "*****";
$consumerKey = "*********";
$consumerSecret = "********";
$token = "********";
$tokenSecret = "********";
$oauthTimestamp = time();
$oauthNonce = bin2hex(random_bytes(6));
$baseUrl = 'http**********';
$params = [
'script' => '****',
'deploy' => '*'
];
$body = json_encode(["mensaje" => "test message"], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
$oauthBodyHash = base64_encode(hash('sha256', $body, true));
$oauthBodyHash = rawurlencode($oauthBodyHash);
$oauthParams = [
'realm' => $realm,
'oauth_consumer_key' => $consumerKey,
'oauth_token' => $token,
'oauth_signature_method' => 'HMAC-SHA256',
'oauth_timestamp' => $oauthTimestamp,
'oauth_nonce' => $oauthNonce,
'oauth_version' => '1.0',
'oauth_body_hash' => $oauthBodyHash
];
$oauthSignature = generateOauthSignature('GET', $baseUrl, array_merge($oauthParams, $params), $consumerSecret, $tokenSecret);
$oauthParams['oauth_signature'] = rawurlencode($oauthSignature);
$params = Arr::map($oauthParams, function ( $value, $key) {
return '"' . $value . '"';
});
$authorizationHeader = "OAuth " . urldecode(http_build_query($params, '', ','));
$fullUrl = $baseUrl . '?' . http_build_query($params);
$response = Http::withHeaders([
'Content-Type' => 'application/json',
'Authorization' => $authorizationHeader
])->timeout(0)
->get($fullUrl);
$data = $response->json();
dd($data); //
}
function generateOauthSignature($method, $baseUrl, $params, $consumerSecret, $tokenSecret) {
unset($params['realm']);
ksort($params);
$encodedParams = [];
foreach ($params as $key => $value) {
$encodedParams[] = rawurlencode($key) . "=" . rawurlencode($value);
}
$paramString = implode("&", $encodedParams);
$baseString = strtoupper($method) . "&" . rawurlencode($baseUrl) . "&" . rawurlencode($paramString);
$signingKey = rawurlencode($consumerSecret) . "&" . rawurlencode($tokenSecret);
$signature = base64_encode(hash_hmac('sha256', $baseString, $signingKey, true));
return $signature;
}
< /code>
Перед кодированием моего ходатайства я доказал в почтальстве и получаю хорошее отзыв, но не в своем Proyect Laravel, несмотря на то, что я использовал те же учетные данные. < /p>
Если кто -то подключил ресторан API в Ларавеле, пожалуйста, скажите, как. Я с благодарностью
Я стараюсь решить свою проблему и подключить Ma Proyect Laravel с моим рестораном API из NetSuite
Подробнее здесь: https://stackoverflow.com/questions/794 ... t-netsuite
Интеграция Laravel с API Restlet Netsuite ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Org.restlet.jee:org.restlet.ext.servlet Lib не поддерживает пакет и класс jakarta с Java 21
Anonymous » » в форуме JAVA - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Netsuite "Restlet" ошибки иногда сериализуются как недействительный json
Anonymous » » в форуме Javascript - 0 Ответы
- 1 Просмотры
-
Последнее сообщение Anonymous
-