Php Godaddy api授权错误

Php Godaddy api授权错误,php,api,godaddy-api,Php,Api,Godaddy Api,我正试图根据GoDaddy在这里提供的API开发GoDaddy的客户端应用程序 我对这个简单的例子有一个问题,我试图使用下一个PHP代码来检查域是否可用: use GuzzleHttp\Client; try { $client = new Client([ 'base_uri' => 'https://api.godaddy.com', ]); $responce = $client->get( '/v1/domains/a

我正试图根据GoDaddy在这里提供的API开发GoDaddy的客户端应用程序 我对这个简单的例子有一个问题,我试图使用下一个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头或其他参数?

是用于生产的密钥和机密吗?当我完成这个过程时,默认情况下,它会创建一个测试密钥/秘密,我认为这是要违背的

如果您使用的是生产密钥,请尝试从以下命令执行手动卷曲请求:;比如:

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必须为:

此外,检查域可用性(/v1/domains/available)的方法不需要标头中的参数“X-Shopper-Id”。没有它,它工作得很好。参数X-Shopper-Id请求返回错误“未找到:找不到指定的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 ?????????',
);<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));
$domain=“jaisinghverma.com”
$apiURL='1https://api.ote-godaddy.com/v1/domains/available? domain='.$domain.&checkType=FULL&forTransfer=false'
$headers=数组( '接受:应用程序/json', '授权:sso密钥', );
$ch=curl_init()
curl_setopt($ch,CURLOPT_URL,$apirl)
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true)
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers)
$server\u output=curl\u exec($ch)
卷曲关闭($ch)
打印(json解码($server\u输出));

以上代码对我来说很好

您确定变量
$myKey
$mySecret
已定义且正确吗?@CharlotteDunois of courseOh!我正在使用默认情况下获得的测试密钥/密码。是的,你说得对,我已经将url改为api.ote-godaddy.com,现在它运行良好。感谢您的帮助如何在GoDaddy VPS服务器中安装oAuth@Brain@Rathinam本期内容涉及现已停产的GoDaddy云服务器产品。对于VPS,所有配置都取决于您(不幸的是,我对它不太熟悉):(谢谢您,我使用Google安装了oauth。太棒了,谢谢您发布代码片段!非常高兴您将其整理好:)godaddy是否有可用的沙箱,我可以使用test api key测试我的api调用。godaddy提供test api key,但每当我尝试使用api调用购买域时,这对我都不起作用。