我正在将AgileCRM与Google Apps& amp;上下文小工具。我能够破解开放的认证和小工具xml相当快。但是,我在上下文小工具方面遇到了问题。
要求很简单 - 它需要获取发件人的电子邮件地址&名。
接下来,如果正文或主题中有任何电子邮件地址,则还需要获取该地址。
我发现我们不能给出多个预先设定的提取器(输出在匹配时是随机的)并开始编写自定义提取器。我的提取器非常简单 - 它只是来自from_name,from_personal和from_subject。
<?xml version="1.0" encoding="UTF-8" ?>
<OpenCOBData id="Agile">
<ExtractorSpec platform="gmail" language="en">
<Response platform="gmail" format="cardgadget">
<Output name="email_sender">{@__FROM_ADDRESS__}</Output>
<Output name="email_name">{@__FROM_PERSONAL__}</Output>
<Output name="email_subject">{@__SUBJECT__}</Output>
</Response>
</ExtractorSpec>
</OpenCOBData>
没有问题。当与以下扩展名一起使用时,它也能很好地工作。
<Extension id="FromEmailAddressExtractor" type="contextExtractor">
<Name>Email ids in From</Name>
<Url>623403448797:Agile</Url>
<Triggers ref="AgileCRMGadget"/>
<Scope ref="emailFrom"/>
<Scope ref="emailName"/>
<Scope ref="emailBody"/>
<Scope ref="emailSubject"/>
<Container name="mail"/>
</Extension>
所以,我可以获得发件人的姓名和电子邮件,没有任何问题。但是,当我尝试在主题或正文中获取电子邮件地址时会出现问题。
<Extension id="SubjectBodyEmailAddressExtractor" type="contextExtractor">
<Name>Email ids in Subject or body</Name>
<Url>google.com:EmailAddressExtractor</Url>
<Param name="email" value=".*"/>
<Triggers ref="AgileCRMGadget"/>
<Scope ref="emailBody"/>
<Scope ref="emailSubject"/>
<Container name="mail"/>
</Extension>
当我添加此内容时,只有这会触发小工具,我会错过发件人的电子邮件&amp;名称。它也可以单独工作,但只有这两个触发小工具。
有没有办法可以让它兼顾两者?在我看来,第一个触发的将触发小工具。
我可以同时使用自定义和预先固定的两种结果吗?如果是,请告诉我,如果我在某个地方出错了。
感谢。