godaddy-ddns icon indicating copy to clipboard operation
godaddy-ddns copied to clipboard

HTTP Error 403: Forbidden

Open jnortheastfilms opened this issue 1 year ago • 3 comments

Hi, I've had this script running successfully for years, now im getting "HTTP Error 403: Forbidden" Here is the full error:

python3 /volume1/JF_STORAGE/SCRIPTS/godaddy-ddns-master/godaddy_ddns.py \%/volume1/JF_STORAGE/SCRIPTS/godaddy-ddns-master/godaddy-ddns.config

Traceback (most recent call last):
  File "/volume1/JF_STORAGE/SCRIPTS/godaddy-ddns-master/godaddy_ddns.py", line 128, in main
    with urlopen(req) as f: resp = f.read()
  File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.8/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/usr/lib/python3.8/urllib/request.py", line 640, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.8/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/volume1/JF_STORAGE/SCRIPTS/godaddy-ddns-master/godaddy_ddns.py", line 162, in <module>
    main()
  File "/volume1/JF_STORAGE/SCRIPTS/godaddy-ddns-master/godaddy_ddns.py", line 154, in main
    raise Exception(msg)
Exception: Unable to set IP address: customer identified by --key and --secret options denied permission.
Correct values can be obtained from from https://developer.godaddy.com/keys/ and are ideally placed in a % file.

Any ideas?

Cheers, Josh

jnortheastfilms avatar May 28 '24 00:05 jnortheastfilms

Same issue for me since approx. 1 week. As a temporary workaround i am setting the IP address manually via the godaddy website every time it changes...

The Error seems to be the same:

Traceback (most recent call last):
  File "/xxx/godaddy_ddns.py", line 112, in main
    with urlopen(req) as f: resp = f.read()
  File "/usr/lib/python3.10/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/xxx/godaddy_ddns.py", line 148, in <module>
    main()
  File "/xxx/godaddy_ddns.py", line 140, in main
    raise Exception(msg)
Exception: Unable to set IP address: customer identified by --key and --secret options denied permission (403).
Correct values can be obtained from from https://developer.godaddy.com/keys/ and are ideally placed in a % file.

cocanut avatar May 29 '24 15:05 cocanut

Same issue for me since approx. 1 week. As a temporary workaround i am setting the IP address manually via the godaddy website every time it changes...

The Error seems to be the same:

Traceback (most recent call last):
  File "/xxx/godaddy_ddns.py", line 112, in main
    with urlopen(req) as f: resp = f.read()
  File "/usr/lib/python3.10/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/xxx/godaddy_ddns.py", line 148, in <module>
    main()
  File "/xxx/godaddy_ddns.py", line 140, in main
    raise Exception(msg)
Exception: Unable to set IP address: customer identified by --key and --secret options denied permission (403).
Correct values can be obtained from from https://developer.godaddy.com/keys/ and are ideally placed in a % file.

Hey @cocanut, after doing some research on Reddit, I found that GoDaddy is only allowing API access to people with 20+ domains, making this script useless for most people, unfortunately. Once my domain is up for renewal, I'll be finding another domain host. Cheers, Josh

jnortheastfilms avatar May 30 '24 00:05 jnortheastfilms

This is the official answer from godaddy, TLDR: "DNS API is limited to accounts with 10 or more domains and/or an active 'Premium Discount Domain Club' plan (super catchy word lol)."

Hi,

We have recently updated the account requirements to access parts of our production Domains API. As part of this update, access to these APIs are now limited:

*Availability API: Limited to accounts with 50 or more domains *Management and DNS APIs: Limited to accounts with 10 or more domains and/or an active Premium Discount Domain Club plan.

If you have lost access to these APIs, but feel you meet these requirements, please reply back with your account number and we will review your account and whitelist you if we have denied you access in error.

Please note that this does not affect your access to any of our OTE APIs.

If you have any further questions or need assistance with other API questions, please reach out.

Regards,

API Support Team

cocanut avatar Jun 06 '24 10:06 cocanut