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

Я пытаюсь разработать клиентское приложение для 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 или дополнительные параметры?

Являются ли ключ и секрет, которые вы используете для производства? Когда я просматриваю процесс, по умолчанию он создает ключ / секрет 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' 

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

Проблема заключалась в том, что я использовал 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(); } 

Я использую 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 2s83RziEFz_WKH7uMvTTgWX5RqNxADNTe:WKHARxNruKHyL3XbjoMp44', );<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)); 

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