我已经创建了一张标有“测试票证”标题的票证,现在我正在尝试使用pyotrs获得创建的票证的详细信息,并使用以下代码:
from pyotrs import Client, Ticket
URL = "http://u/r/l"
USERNAME = "user"
PASSWORD = "pass"
#TICKET_LINK = URL + "/otrs/index.pl?Action=AgentTicketZoom;TicketID="
# Creating session
client = Client(URL, USERNAME, PASSWORD)
client.session_create()
ticket_ids = client.ticket_search(Title=["Test ticket"])
my_ticket=client.ticket_get_by_id(ticket_ids)
print(ticket_ids)
print(my_ticket.field_get("TicketNumber"))这会产生以下错误:
Traceback (most recent call last):
File "./search_ticket.py", line 16, in <module>
my_ticket=client.ticket_get_by_id(ticket_ids)
File "/opt/lib/python3.6/site-packages/pyotrs/lib.py", line 1309, in ticket_get_by_id
if not self._parse_and_validate_response(response):
File "/opt/lib/python3.6/site-packages/pyotrs/lib.py", line 2191, in _parse_and_validate_response
self.result_json["Error"]["ErrorMessage"]))
pyotrs.lib.APIError: Failed to access OTRS API. Check Username and Password! Session ID expired?! Does Ticket exist?
OTRS Error Code: TicketGet.AccessDenied
OTRS Error Message: TicketGet: User does not have access to the ticket!我找到了一个固定的这里。但是我不知道如何解决这个问题,因为我的requests.request()版本中没有提到的ticket_get_by_id(),在我的pyotrs中(pyotrs版本-0.12.2,otrs-6)。另一种情况是,还有其他问题可能导致这种情况吗?我是新的API和任何帮助将不胜感激。
发布于 2022-09-03 11:03:03
我复制了你的错误。您使用my_ticket=client.ticket_get_by_id(ticket_ids),其中ticket_ids是一个数组,ticket_get_by_id需要一个整数。用这个代替:
my_ticket=client.ticket_get_by_id(ticket_ids[0])去买第一张票。
https://stackoverflow.com/questions/73572690
复制相似问题