我正尝试在Excel的宏中运行对Salesforce REST API的SOQL查询。我使用LIKE语句检查是否存在具有相同域的电子邮件地址,如下所示:
q=SELECT+email+FROM+Contact+WHERE+email+LIKE+'%@domain.com'
这只是提供给HTTP请求的参数,domain是一个占位符。
当我使用运行完全相同的请求时,我从服务器得到了正确的响应,但是在Excel中,我得到了错误400 bad request
。
当删除%
时,它接受请求,但是,它显然找不到任何条目,因为它正在查找确切的字符串"@domain.com"
。
vba中的%
-sign是否存在任何已知问题?或任何其他建议可能是什么问题?
发布于 2018-12-11 06:57:14
问题不在于VBA,而在于您的HTTP查询。您需要转义百分号(%
),它是一个特殊字符。我猜邮差是在幕后为你做这件事。
因此,尝试:
q=SELECT+email+FROM+Contact+WHERE+email+LIKE+'%25@domain.com'
请参阅:https://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_the_percent_character
如果这还不足以使查询成功,那么您也可以转义arobas符号(@
):
q=SELECT+email+FROM+Contact+WHERE+email+LIKE+'%25%40domain.com'
https://stackoverflow.com/questions/53714901
复制相似问题