我已经使用Xero API预览器功能测试了我的帖子数据,并成功提交了请假。与以下类似(ID不同):
<LeaveApplication>
<EmployeeID>9f8f9336-4a24-4309-8498-d7de6fd10ef3</EmployeeID>
<LeaveTypeID>e7c26052-46d9-4611-85b7-850eb3041d82</LeaveTypeID>
<Title>Seth Test Leave</Title>
<StartDate>2019-01-13T00:00:00</StartDate>
<EndDate>2019-01-18T00:00:00</EndDate>
</LeaveApplication>
我在Jupyter笔记本中使用以下python代码:
data = {'EmployeeID': '9f8f9336-4a24-4309-8498-d7de6fd10ef3',
'LeaveTypeID': 'e7c26052-46d9-4611-85b7-850eb3041d82',
'Title': 'Annual Leave',
'StartDate': datetime(2019, 1, 14),
'EndDate': datetime(2019, 1, 14)}
xero.payrollAPI.leaveapplications.save_or_put(data)
我将以下输出显示到控制台,但是当我通过Xero门户在线查看请假申请时,没有任何迹象表明请假已经提交。
('https://api.xero.com/payroll.xro/1.0/LeaveApplications',
{},
'post',
{'xml': b'<EmployeeID>9f8f9336-4a24-4309-8498-d7de6fd10ef3</EmployeeID>
<LeaveTypeID>e7c26052-46d9-4611-85b7-850eb3041d82</LeaveTypeID>
<Title>Annual Leave</Title>
<StartDate>2019-01-14T00:00:00</StartDate>
<EndDate>2019-01-14T00:00:00</EndDate>'},
None,
False)
我的POST与Xero API Previewer一起使用,并且可以在Xero门户中看到。此外,在API预览器中查看历史记录时,我看到它是“ GET”而不是“ POST”。我的印象是,“ save_or_put”将执行POST并更新现有条目或创建新条目。关于为什么它不是帖子的任何建议?