0

我已经正确更新了所有权限集,因为我可以在 select 语句所在的位置硬编码一个字符串“Test”,但是当我输入 select 语句时,我的聊天机器人会立即关闭。有人可以快速浏览一下吗?我正在尝试测试我是否可以获取电子邮件地址、搜索联系人对象并返回 appDecision(自定义字段)

public with Sharing class GetAdmissionStatus {
public class DecisionOutput {  
  
    @InvocableVariable( required=true )  
    public String aDecision;  
}  
  
public class DecisionInput {  
  
    @InvocableVariable( required=true )  
    public String applyEmail;  
      
}  

@InvocableMethod(label='Get Admission Status')  
public static List < DecisionOutput > GetAdmissionStatus( List < DecisionInput > listDecisionInputs ) {  
  
    List < DecisionOutput > objOutputs = new List < DecisionOutput >();  
    DecisionOutput objOutput = new DecisionOutput();  
    Set < String > strapplyEmails = new Set < String >();  
    for ( DecisionInput objDecisionInput : listDecisionInputs )  
        strapplyEmails.add( objDecisionInput.applyEmail );  
    objOutput.aDecision = [ SELECT AppDecision__c FROM Contact WHERE Email IN: strapplyEmails LIMIT 1].AppDecision__c;  
    objOutputs.add( objOutput );   
    return objOutputs;  
  
}  

}

4

1 回答 1

0

问题不清楚。您在 [括号] 中有一个查询,并且想要查看它的文本版本?尝试

String q = Database.getQueryLocator([SELECT Id FROM Account LIMIT 5]).getQuery();
System.debug(q);

如果您想将查询结果转换为字符串,这可能会有所帮助

String x = JSON.serializePretty([SELECT Id FROM Account LIMIT 5]);
// you can do JSON.serialize() too
System.debug(x);

如果机器人关闭,则很有可能引发一些异常。尝试在 DeveloperConsole 打开的情况下玩机器人,看看它是否会抛出任何东西。

您是否授予“机器人用户”使用此顶点类、联系人对象和字段的权限?在https://developer.salesforce.com/docs/atlas.en-us.bot_cookbook.meta/bot_cookbook/bot_cookbook_call_apex_action.htm中搜索“权限集”

于 2020-11-20T11:54:21.710 回答