Ошибка авторизации API Godaddy

Я пытаюсь разработать клиентское приложение для GoDaddy на основе их API, который они предоставляют здесь https://developer.godaddy.com
И у меня проблема с простым примером, я пытаюсь использовать следующий код PHP, чтобы проверить, доступен ли домен:

use GuzzleHttp\Client;
try {
$client = new Client([
'base_uri' => 'https://api.godaddy.com',
]);

$responce = $client->get(
'/v1/domains/available?domain=example.guru',
[
'headers' => [
'Authorization' => "sso-key $myKey:$mySecret",
'X-Shopper-Id' => "$myID",
'Accept' => 'application/json',
]
]
);
echo $responce->getBody();
} catch (Exception $e) {
echo $e->getMessage();
}

И все время получаю ошибку: «Ошибка клиента: 401». Та же проблема у меня с использованием библиотеки cURL. Я не нашел онлайн-поддержки.
Мне нужна помощь с этим, кто-то может объяснить, как я должен авторизоваться в их API-сервисе? Может быть, мне нужно отправить какие-либо другие заголовки http или дополнительные параметры?

10

Решение

Ключ и секрет вы используете для производства? Когда я прохожу процесс, по умолчанию он создает ключ / секрет TEST, которые, как мне кажется, должны идти против https://api.ote-godaddy.com

Если вы используете рабочие ключи, попробуйте выполнить запрос Curl вручную с помощью команды like; что-то вроде:

curl -H 'Authorization: sso-key {KEY}:{SECRET}' -H 'Content-Type: application/json' https://api.godaddy.com/v1/domains/available?domain=example.guru'

Дайте нам знать, как это работает!

9

Другие решения

Проблема заключалась в том, что я использовал TEST {KEY}: {SECRET} и указал неверный URL.

Для теста {KEY}: {SECRET} URL должен быть: https://api.ote-godaddy.com.

Также метод проверки доступности домена (/ v1 / domains / available) не требует параметра ‘X-Shopper-Id’ в заголовке. Это работает хорошо без этого. С параметром X-Shopper-Id запрос возвращает ошибку «NOT_FOUND: указанный shopperId не может быть найден» (но это другая проблема, возможно, я не активировал какую-либо опцию)

Поэтому, если принять во внимание все изменения, рабочий код для проверки доступности домена с помощью тестового ключа / секрета должен выглядеть следующим образом:

use GuzzleHttp\Client;
try {
$client = new Client([
'base_uri' => 'https://api.ote-godaddy.com'
]);

$responce = $client->get(
'/v1/domains/available?domain=example.guru',
[
'headers' => [
'Authorization' => "sso-key $myKey:$mySecret",
'Accept' => 'application/json',
]
]
);
echo $responce->getBody();
} catch (Exception $e) {
echo $e->getMessage();
}
4

Я использую php и curl.

$domain = "jaisinghverma.com";<br>
$apiURL = 'https://api.ote-godaddy.com/v1/domains/available?
domain='.$domain.'&checkType=FULL&forTransfer=false';<br>
$headers = array(
'Accept: application/json',
'Authorization: sso-key ?????????',
);<br>
$ch = curl_init();<br>
curl_setopt($ch, CURLOPT_URL, $apiURL);<br>
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br>
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);<br>
$server_output = curl_exec ($ch);<br>
curl_close ($ch);<br>
print_r(json_decode($server_output));

приведенный выше код работает нормально для меня.

0
По вопросам рекламы [email protected]