Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
确定当前用户是否可以通过合作伙伴API访问Salesforce CRM内容功能_Api_Salesforce - Fatal编程技术网

确定当前用户是否可以通过合作伙伴API访问Salesforce CRM内容功能

确定当前用户是否可以通过合作伙伴API访问Salesforce CRM内容功能,api,salesforce,Api,Salesforce,使用Salesforce Partner API(21.0版)时,如何确定当前用户/会话是否能够创建新的API 使用我可以确认ContentVersion和ContentDocument作为当前组织的对象可用 使用我可以确认当前用户会话将ContentVersion标记为可创建。 我还确认了在插入ContentVersion记录时设置的字段标记为可创建(PathOnClient、VersionData和FirstPublishedLocationId) 在我的测试用例中,如果用户可以通过Sale

使用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:


内容对象在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提出了一个支持案例,看看他们是否能够解决这个问题。