尝试通过电子邮件查找记录时,Filemaker API返回错误

时间:2018-03-22 09:07:00

标签: database rest filemaker

我使用Filemaker API和PHP和Postman来测试它。在Postman(以及我的PHP项目)中,每当我尝试通过电子邮件字段查找记录时,如果查询中存在@符号,则会返回错误并且找不到记录。例如:

{
  "query":[
    {"Contact_Email": "john.smith@gmail.com"}]
}

这将返回:

{
    "errorMessage": "No records match the request",
    "errorCode": "401"
}

但是这个请求:

{
  "query":[
    {"Contact_Email": "john.smith"}]
}

将返回我正在寻找的记录。

这是什么问题?我是否需要逃避@符号?这是FileMaker API问题还是其他问题?

2 个答案:

答案 0 :(得分:2)

@符号被保留为FM数据库引擎中的运算符,因此很可能它与此相撞。我不确定如何通过API来逃避它,但是实际上包括引号作为搜索字符串的一部分的测试应该让你走上路径...

{
  "query":[
    {"Contact_Email": "\"john.smith@gmail.com\""}]
}

或者可能在查询中包含等号:

{
  "query":[
    {"Contact_Email": "=john.smith@gmail.com"}]
}

或者尝试\逃避@:

{
  "query":[
    {"Contact_Email": "john.smith\@gmail.com"}]
}

答案 1 :(得分:1)

我只是使用了双等号 ==john@email.com,这在 Postman 中有效