如何修复 Python Cloudflare CloudFlare.exceptions.CloudFlareAPIError: no email and no token defined
问题:
你想使用 Cloudflare API 运行程序,例如此示例代码:
cloudflare_no_creds.py
#!/usr/bin/env python3
import CloudFlare
cf = CloudFlare.CloudFlare()
zones = cf.zones.get()
for zone in zones:
zone_id = zone['id']
zone_name = zone['name']
print(zone_id, zone_name)但尝试运行时,你看到以下错误消息:
cloudflare_no_creds_traceback.txt
Traceback (most recent call last):
File "test-cloudflare-api.py", line 5, in <module>
zones = cf.zones.get()
File "/usr/local/lib/python3.8/dist-packages/CloudFlare/cloudflare.py", line 672, in get
return self._base.call_with_auth('GET', self._parts,
File "/usr/local/lib/python3.8/dist-packages/CloudFlare/cloudflare.py", line 117, in call_with_auth
self._AddAuthHeaders(headers, method)
File "/usr/local/lib/python3.8/dist-packages/CloudFlare/cloudflare.py", line 88, in _AddAuthHeaders
raise CloudFlareAPIError(0, 'no email and no token defined')
CloudFlare.exceptions.CloudFlareAPIError: no email and no token defined解决方案
Cloudflare API 缺少你用于登录的凭据。使用凭据调用 API 的最简单方法是用 email 和 token 作为参数初始化 CloudFlare.CloudFlare()
cloudflare_creds_example.py
cf = CloudFlare.CloudFlare(
email="[email protected]",
token="Oochee3_aucho0aiTahc8caVuak6Que_N_Aegi9o"
)注意并非所有令牌都能执行所有操作,如果你执行令牌不允许的操作,你将看到类似 CloudFlare.exceptions.CloudFlareAPIError: Invalid request headers 的错误消息
Check out similar posts by category:
Networking, Python
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow