Salesforce 有没有办法将Apex Select语句转换为字符串

Salesforce 有没有办法将Apex Select语句转换为字符串,salesforce,apex,invocable,Salesforce,Apex,Invocable,我已经正确更新了所有权限集,因为我可以硬编码一个字符串“Test”,测试select语句所在的位置,但是当我输入select语句时,我的聊天机器人立即关闭。有人能看一下吗?我正在尝试测试我是否可以获取电子邮件地址,搜索联系人对象并返回appDecision(自定义字段) public与共享类GetAdmissionStatus{ 公共类决策输出{ @InvocableVariable(必需=true) 公共决策; } 公共类决策输入{ @InvocableVariable(必需=true)

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

public与共享类GetAdmissionStatus{
公共类决策输出{
@InvocableVariable(必需=true)
公共决策;
}  
公共类决策输入{
@InvocableVariable(必需=true)
公共字符串applyEmail;
}  
@InvocableMethod(label='Get acmission Status')
公共静态列表<决策输出>获取许可状态(列表<决策输入>列表决策输入){
ListobjOutputs=新列表();
DecisionOutput objOutput=新的DecisionOutput();
Setstripplyemails=newset();
for(DecisionInput对象DecisionInput:listDecisionInputs)
StraplyEmails.add(objDecisionInput.applyEmail);
objOutput.aDecision=[从电子邮件所在的联系人中选择AppDecision\uuu c:StraplyEmails LIMIT 1]。AppDecision\uu c;
添加(objOutput);
返回对象输出;
}  

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

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打开的情况下使用bot,看看它是否抛出任何东西

您是否授予“bot用户”使用此apex类、contact对象和字段的权限?在中搜索“权限集”

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