1

我正在将 AgileCRM 与 Google Apps 和上下文小工具集成。我能够相当快地破解 open-auth & gadget 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>

当我添加这个时,只有这个会触发小工具,我错过了发件人的电子邮件和姓名。它也可以单独工作,但两者都可以,只有这会触发小工具。

有没有办法让它同时适用于两者?在我看来,第一个触发的将触发小工具。

我可以有一个定制和预先确定的结果吗?如果是,请让我知道我是否在某个地方出错了。

谢谢。

4

0 回答 0