HTTP Error 403: Forbidden
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
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.
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
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