2015-10-23 36 views
2

我正在尝试将PHP中的Web应用程序集成到Xero中。我的目标是从应用程序向Xero提交一个请假表格。Xero API LeaveTypeID

我正在使用https://github.com/XeroAPI/XeroOAuth-PHP并设法获得员工名单。但示例请求显示我需要将LeaveTypeID和EmployeeID一起传递。我在哪里可以获得LeaveTypeIDs即。年假或病假的假期类型ID是什么?下面是示例XML请求我的例子中发现http://developer.xero.com/documentation/payroll-api/leaveapplications/

<LeaveApplications> 
    <LeaveApplication> 
     <EmployeeID>5abad362-28aa-4c2c-a9cb-0899f7262d62</EmployeeID> 
     <LeaveTypeID>dc182d9a-a270-4f4e-acd7-af702d5a4382</LeaveTypeID> 
     <Title>My Test Leave</Title> 
     <StartDate>2013-04-11</StartDate> 
     <EndDate>2013-04-11</EndDate> 
    </LeaveApplication> 
</LeaveApplications> 

我在网上搜索,Xero的文档和社区门户,但无所不有>任何帮助深表感谢。


更新:

@ronanq - 我已经试过了,使用下面的代码从模拟账户

$response = $XeroOAuth->request('GET', $XeroOAuth->url('PayItems', 'payroll')); 
pr($response); exit; 

得到以下响应得到LeaveTypes:

code => 401 
response => You do not have permission to access this resource. 

另一端点工作正常。


解决方案: 感谢@ronanq。需要将“payroll.payitems”作为授权范围添加。这将使访问来自Xero的

得到LeaveTypes

回答

3

可以提取留言类型,并从PayItems endpoint.

+0

由于它们的相关LeaveTypeIDs,将检查它的明天。与此同时,我还有另一个来自[link](https://github.com/XeroAPI/XeroOAuth-PHP)的代码的问题 - 公共示例让我在每次令牌过期时对应用程序进行授权。如果某人已经授权应用程序而又不派他再次授权该应用程序,我该如何更新该令牌? –