如何使用 PHP 将日期传递给 Abila/Avectra netForum?

How to pass dates to Abila/Avectra netForum using PHP?

我有访问 Abila netForum xWeb 功能的凭据。我正在使用 PHP 这样做。 我需要做的是获取所有事件的列表。我正在尝试使用 GetActiveEventListByDate()

我能够很好地进行身份验证 - 从 SignOn WSDL 获得了 Authenticate Token 和 SignOn Token。也从 netFORUMXMLOnDemand WSDL 获得了身份验证令牌。

然后,我试图通过将日期范围传递给 netFORUMXMLOnDemand WSDL 来获取所有事件 - 但由于某种原因这不起作用。我认为这可能是日期格式,但无论我尝试什么,它都不起作用。

我试过了:

$requestParams = array('EventStartDate' => '1/1/2000', 'EventEndDate' => '5/10/2017', 'bActiveOnly' => 1);
$result = $client_netforum->GetActiveEventListByDate($requestParams);
print_r($result);

我尝试了不同的时间格式,但没有任何效果。尝试添加 hours:minutes:seconds,尝试将日期转换为 ISO 8601...

$start = new DateTime("2014-12-12 11:11:11");
$start = $start->format("Y-m-d H:i:s e");
$end = new DateTime("2018-12-12 11:11:11");
$end = $end->format("Y-m-d H:i:s e");

$start = gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 2016));
$end = gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 2018));

$start = new DateTime('2014-12-12 11:11:11');
$start = $start->format(DateTime::W3C);
$end = new DateTime('2019-12-12 11:11:11');
$end = $end->format(DateTime::W3C);

$requestParams = array('EventStartDate' => $start, 'EventEndDate' => $end, 'bActiveOnly' => 1);

其他一些功能运行良好,我用已知事件键测试了 GetEventByKey(),一切正常。

感谢任何帮助。


编辑 2017 年 6 月 5 日

好的,这里取得了一些进展,日期格式似乎不是这里的问题,一些日期工作正常但不是全部。阿比拉帮不上忙,跟那些家伙拔牙一样。

我正在使用此页面作为参考:https://uat.netforumpro.com/iweb/help/api/GetActiveEventListByDate.htm 尽管他们说这里有些字段是可选的,但它们似乎不是 - 没有结果。

因此,例如,这工作正常:

$requestParams6 = array('EventStartDate' => '1/28/2017', 'EventEndDate' => '12/12/2027', 'bActiveOnly' => false, 'szRecordDate' => '02/24/2016');
$result6 = $client_netforum->GetActiveEventListByDate($requestParams6);

但是如果我将 EventStartDate 更改为“5/23/2017”,它将不再有效 - 没有返回结果。

$requestParams6 = array('EventStartDate' => '5/23/2017', 'EventEndDate' => '12/12/2027', 'bActiveOnly' => false, 'szRecordDate' => '02/24/2016');
$result6 = $client_netforum->GetActiveEventListByDate($requestParams6);

如何准确确定要在此处使用的日期?

另外,szRecordDate 字段代表什么?将其更改为其他日期也会弄乱结果 - 没有任何返回!

再次感谢您的帮助。

抱歉,最后,这根本不是日期问题。我发布这个以防有人遇到同样的问题。

问题是在我的日期范围内的事件标题中出现了一些非法字符。出于某种原因,如果您在尝试访问列表时遇到非法字符,您将得到一个静默错误 - 没有显示结果。

Abila 的人花了几周的时间才弄明白这一点。

希望这对某人有所帮助。