通过python访问服务Now API时出错

时间:2018-12-21 06:04:23

标签: python api

我是现在开始通过python访问API,这是我编写的代码下面的服务,但失败并出现错误。如果我通过Internet Explorer(https://myinstance.service-now.com/api/now/table/incident)进行访问,则使用相同的API URL,将会得到一些结果。但是通过Python代码会抛出错误。

有人可以查看我的代码并在遇到任何问题时为我提供帮助,还是可以与我分享通过python代码读取API的解决方案。

import pysnow
# Configure authentication settings. Instance can be 'michmed', 'ummedtest', or 'ummeddev'
auth = {'instance': 'myinstance', 'username': 'username', 'password': 'XXXXXXX'}
# Connect to the ServiceNow instance
s = pysnow.Client(instance=auth['instance'], user=auth['username'], password=auth['password'])
# Fetch incident INC0012555, then print it.
r = s.query(table='incident', query={'number': 'INC0646025'})
print(r.get_one(fields=[]))

错误:

“ C:\ Program Files \ Python37 \ python.exe” connectto_servicenow.py

回溯(最近通话最近一次):

文件_new_conn中的“ C:\ Program Files \ Python37 \ lib \ site-packages \ urllib3 \ connection.py”行159

((self._dns_host,self.port),self.timeout,** extra_kw)

create_connection中的文件“ C:\ Program Files \ Python37 \ lib \ site-packages \ urllib3 \ util \ connection.py”,第57行

对于socket.getaddrinfo(主机,端口,家庭,socket.SOCK_STREAM)中的资源:

getaddrinfo中的文件“ C:\ Program Files \ Python37 \ lib \ socket.py”,第748行

_socket.getaddrinfo中的res(主机,端口,家庭,类型,原型,标志): socket.gaierror:[Errno 11001] getaddrinfo失败

1 个答案:

答案 0 :(得分:0)

我能够找到问题。

1)在“立即服务”实例设置中,服务器IP(托管代码)应列入白名单,以通过代码/程序访问API。

2)用于执行Python代码的服务帐户或ID应该可以访问互联网(可以在防火墙后面,将其修复)

解决了以上两点后,我现在可以通过Python访问该服务。