您好,我需要在指定的日期范围内提取对特定供应商(联系人ID为aa941766-b505-4c0d-ae61-16ee78ec995e)所做的prepayments
GET https://api.xero.com/api.xro/2.0/Prepayments
查询参数
其中=日期> =日期时间(2019,01,02)&&日期<日期时间(2019,03,12)&&联系人ID =“ aa941766-b505-4c0d-ae61-16ee78ec995e”
我正在测试其他客户端。产生的GET请求
https://api.xero.com/api.xro/2.0/Prepayments?where=Date%20%3E%3D%20DateTime(2019,%2001,%2002)%20%26%26%20Date%20%3C%20DateTime(2019,%2003,%2012)%20%26%26%20ContactID%20%3D%20%22aa941766-b505-4c0d-ae61-16ee78ec995e%22
但是得到这400个错误响应
{ “ ErrorNumber”:16 “ Type”:“ QueryParseException”, “消息”:“类型'BankTransaction'中不存在属性或字段'ContactID'” }
答案 0 :(得分:1)
您需要遵循响应中期望的对象结构:ContactID属性位于预付款项的Contact元素中,因此可以尝试使用Contact.ContactID而不是仅ContactID。
您还需要解析ContactID guid以在where子句中使用,如下所示:
def xmlReader(root, row, filename):
df2 = spark.read.format("com.databricks.spark.xml").options(rowTag=row, rootTag=root).load(filename)
xref = df2.select("genericEntity.entityDetail", "genericEntity.entityDetialId","genericEntity.updateTimestamp")
return xref
df3 = xmlReader("BOBML","s3://dev.xml")
df3.head()