库= pyxero 0.9.1
嘿,
我正在尝试使用Python自动将时间表上传到Xero,但遇到了绊脚石。 使用API检索信息没有问题,但是当我尝试发布新的时间表时,我得到405响应代码。我尝试将JSON数据简化为Xero所允许的最低限度,但错误仍然存在。下面的示例代码
from xero import Xero
import configs
import datetime
from xero.auth import PrivateCredentials
credentials = PrivateCredentials(configss.key, configss.RSAstr)
xero = Xero(credentials)
employees = xero.payrollAPI.employees.all()
timesheets = {'timesheets': {'timesheet': {'EmployeeID': employees[0]["EmployeeID"],
'StartDate': datetime.datetime(2018,8,15),
'EndDate': datetime.datetime(2018,8,21),
'Status': 'Draft'}}}
xero.payrollAPI.timesheets.put(timesheets)
请注意,我可以毫无问题地发布新的联系人和发票。 从app.xero.com网站查看我的API调用历史记录,我看到一条带有
的消息请求消息=
<Timesheets><Timesheet><EmployeeID>38fcaf73-e35c-4f38-9ebe-642ef6d5b7c7</EmployeeID>
<StartDate>2018-09-15</StartDate><EndDate>2018-09-21</EndDate>
<Status>DRAFT</Status></Timesheet></Timesheets>
响应 405-不允许使用方法
答案 0 :(得分:1)
您的描述为POST,但您的代码为'put'-文档-https://developer.xero.com/documentation/payroll-api/timesheets-建议使用的方法为POST。
如果您将代码切换为“发布”,则效果是否理想?