确定当前用户是否可以通过合作伙伴API访问Salesforce CRM内容功能
使用Salesforce Partner API(21.0版)时,如何确定当前用户/会话是否能够创建新的API 使用我可以确认ContentVersion和ContentDocument作为当前组织的对象可用 使用我可以确认当前用户会话将ContentVersion标记为可创建。 我还确认了在插入ContentVersion记录时设置的字段标记为可创建(PathOnClient、VersionData和FirstPublishedLocationId) 在我的测试用例中,如果用户可以通过Salesforce web界面访问内容区域,那么测试用例将通过创建ContentVersion 但是,当我从开发人员版本组织尝试相同的代码时(无法访问内容区域),它会出现以下消息: 字段\完整性\异常-用户无权访问Salesforce内容。无效的字段值::内容来源 ContentVersion的可创建合作伙伴API元数据和指示此操作应已生效的字段 我在C#中工作,但是recipe中的Java代码在没有可创建元数据检查的情况下也在做同样的事情 要尝试排除我的代码是问题的原因,我已确认应使用Force.com Explorer创建ContentVersion:确定当前用户是否可以通过合作伙伴API访问Salesforce CRM内容功能,api,salesforce,Api,Salesforce,使用Salesforce Partner API(21.0版)时,如何确定当前用户/会话是否能够创建新的API 使用我可以确认ContentVersion和ContentDocument作为当前组织的对象可用 使用我可以确认当前用户会话将ContentVersion标记为可创建。 我还确认了在插入ContentVersion记录时设置的字段标记为可创建(PathOnClient、VersionData和FirstPublishedLocationId) 在我的测试用例中,如果用户可以通过Sale
内容对象在Salesforce中有点古怪,因为它们是Koral公司收购的一部分,所以它们的一些行为与其他标准Salesforce对象并不完全相同 我已尝试检查ContentDocument.creatable,但即使对于可以以其他方式创建内容的用户,这也是错误的 这是因为ContentDocument永远不可创建,它只支持以下方法: 删除()、查询()、检索()、取消删除()、描述对象() 要创建ContentDocument,您需要在不设置ContentDocumentId的情况下创建新的ContentVersion对象 从: 这将自动创建一个父级 文件记录。当添加新的 文档的版本,您必须 指定现有的ContentDocumentId 它启动了修订过程 对于文档。最新消息是什么时候 版本发布,标题, “所有者”和“发布状态”字段为 在文件中更新
检查ContentVersion.createable应该可以用。我想我已经找到了答案。仅检查ContentVersion是否可创建是不够的 我还需要检查当前用户(如所示)是否具有userpermissionsfcontentuser字段,并且该字段是否为true 从 指示是否为用户分配了一个Salesforce CRM内容用户许可证(true)或未分配(false)。标签是Salesforce CRM用户。Salesforce CRM内容用户许可证授予用户访问Salesforce CRM内容应用程序的权限
我在Salesforce开发者论坛上也问过同样的问题,谢谢你的反馈。我想知道我的开发者版组织是否有问题。我已经向Salesforce提出了一个支持案例,看看他们是否能够解决这个问题。