Salesforce APEX获取用户许可证

Salesforce APEX获取用户许可证,salesforce,apex,Salesforce,Apex,因此,我试图获得当前用户的用户许可证,如系统管理员或用户等。。。我看过这里,并使用了其他方法,但这些似乎不适合我。我想知道从哪里开始 我得到的错误是: 比较参数必须是兼容的类型:Schema.SObjectField、String 从使用以下代码开始: public String getOpps() { if(Profile.UserLicense.Name === 'Community Customer') { oppCheck = true; } else {

因此,我试图获得当前用户的用户许可证,如系统管理员或用户等。。。我看过这里,并使用了其他方法,但这些似乎不适合我。我想知道从哪里开始

我得到的错误是:

比较参数必须是兼容的类型:Schema.SObjectField、String

从使用以下代码开始:

public String getOpps() {
    if(Profile.UserLicense.Name === 'Community Customer') {
        oppCheck = true;
    } else {
        oppCheck = false;
    }


    ***loop*** {
            code here
        }
    } else {
       more code here
    }
    return 'nil';
 }

这些是许可证类型,我从API指南中获得它们,多亏了

标准:用户许可证。此用户类型还包括Salesforce Platform和Salesforce Platform One用户许可证。标签是标准的。 PowerPartner:PRM用户,其访问受到限制,因为他或她是合作伙伴,通常通过合作伙伴访问应用程序 门户。标签是合作伙伴。 CSLitePortal:其访问受到限制的用户,因为他或她是组织的客户,通过 针灸门。标签是高容量门户。 CustomerSuccess:其访问权限受到限制的用户,因为他或她是组织的客户,并通过 客户门户。标签是客户门户用户。 PowerCustomerSuccess:其访问权限受到限制的用户,因为他或她是组织的客户,通过 客户门户。标签是客户门户管理器。与此相关的用户 许可证类型可以查看和编辑其直接拥有的数据或其拥有的数据 或在客户门户角色层次结构中与他们下面的用户共享。 CsnOnly:对应用程序的访问仅限于聊天的用户。此用户类型包括无聊天和聊天主持人 用户。标签是无颤音的。 此外,您可能会幸运地尝试:

Profile p = [Select Name from Profile where Id =: userinfo.getProfileid()];
String pname = p.name;

if(pname == 'Community Customer') {
    oppCheck = true;
} else {
    oppCheck = false;
}

只是澄清一下,系统管理员与用户是一个配置文件,而不是用户许可证。许可证决定了诸如Salesforce和Chatter之类的事情。