Я пытаюсь подключить ресторан API с моим проектом от Laravel.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>
Перед кодированием моего ходатайства я доказал в почтальце и получил хороший ответ, но не в моем проекте Laravel, несмотря на то, что я использовал те же учетные данные. Я буду благодарен.>
Подробнее здесь: https://stackoverflow.com/questions/794 ... t-netsuite
Интеграция Laravel с API Restlet Netsuite ⇐ Php
Кемеровские программисты php общаются здесь
1741875364
Anonymous
Я пытаюсь подключить ресторан API с моим проектом от Laravel.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>
Перед кодированием моего ходатайства я доказал в почтальце и получил хороший ответ, но не в моем проекте Laravel, несмотря на то, что я использовал те же учетные данные. Я буду благодарен.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79401028/integration-laravel-with-api-restlet-netsuite[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия