11

ここで提供する API に基づいて GoDaddy のクライアント アプリケーションを開発しようとしています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 ヘッダーや追加のパラメーターを送信する必要があるのでしょうか?

4

3 に答える 3

5

問題は、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();
}
于 2015-08-30T13:05:51.510 に答える