从 Azure 数据工厂发送时,发票端点不接受日期格式

Date format not accepted by invoices endpoint when sent from Azure data factory

我正在尝试自动将数据从 Xero 提取到我的 azure 数据库中,并设置了身份验证流程以通过密钥保管库等获取和刷新令牌。

然而,当谈到通过网络 activity 调用各种 API 时,如果尝试使用“If-Modified-Since” header。 xero 端点只是 returns 如下所示的错误

但是当我删除 If-Modified-Since header 时,一切正常。我还在 Postman 中测试了 url,它工作正常。

我尝试了多种日期格式,utcnow()、getpastdate()、将其全部包装在一个字符串中等等,但都失败了。我知道这会很简单,但无法解决!

下面是我正在打的电话

{
    "url": "https://api.xero.com/api.xro/2.0/Invoices?includeArchived=false&unitdp=2&Page=1",
    "method": "GET",
    "headers": {
        "Authorization": "Bearer xxxx",
        "xero-tenant-id": "xxx",
        "If-Modified-Since": "2021-06-01"
    }
}

来自here

the only thing that seems to be working is Tue, 12 Jun 2018 11:55:14 GMT as implemented here https://github.com/freakboy3742/pyxero/blob/master/xero/basemanager.py#L292-L297

他们使用的 Python 格式字符串是:

%a, %d %b %Y %H:%M:%S GMT

希望这能给你一个很好的例子,即使你必须翻译成另一种表达语言,也可以效仿和尝试。

谢谢 Greg 为我指明了正确的方向。我遇到过 post,但假设 Xero 工作人员回答说他们接受多种格式,而且它是旧的 post,它不再相关!我在 adf 中的工作代码是

@concat(getPastTime(1,'Day','ddd, dd MMM yyyy hh:mm:ss'),' GMT')