0

我正在 salesforce 中创建一个与 iOS 客户端通信的 Web 服务。客户端已经通过身份验证并收到了一个令牌就好了。该应用程序将调用 Web 服务作为接收数据。以系统管理员身份登录后,应用程序运行流畅。但是,当以标准用户身份登录时,应用程序失败并出现以下错误:

2012-08-06 08:44:13.827 myApp[74075:fb03] Request Failed with Error: Error Domain=com.alamofire.networking.error Code=-1011 "Expected status code in (200-299), got 403" UserInfo=0x8246410 {NSErrorFailingURLKey=https://xxxx-full.cs3.my.salesforce.com/services/apexrest/mobileServices/v1/SystemDataRecords, NSLocalizedDescription=Expected status code in (200-299), got 403}, {
   NSErrorFailingURLKey = "https://xxxx--full.cs3.my.salesforce.com/services/apexrest/mobileServices/v1/SystemDataRecords";
   NSLocalizedDescription = "Expected status code in (200-299), got 403";
}

显然这让我觉得它与共享模型有关。但是,如果标准用户在直接登录 salesforce.com 时尝试提取相同的数据,则没有问题。

有什么想法吗?

4

3 回答 3

0

排除共享问题的一种方法是尝试将您的类定义更改为不共享(或简单地省略共享,因为不共享是默认设置)。

global without sharing class MyWebService
{
   ...
}

在没有看到您的任何代码的情况下,我会冒险猜测这只是一个共享模型问题。但是,例如,如果您的 Apex 代码根据活动用户的配置文件进行不同的分支,那么这也可能是一个问题。

于 2012-08-06T17:26:17.690 回答
0

虽然这是旧帖子,但对我来说,问题是“配置文件无法访问 Apex 类”一旦我这样做了,我收到了 StatusCode=200 消息。希望它可以帮助某人。

于 2015-08-28T14:39:11.203 回答
-1

5年后,是的,它帮助了我。我在调用 Salesforce Apex Web 服务时收到 http 403 错误。我在将 Apex 类添加到配置文件后解决了它(转到 Apex 类 > 安全性 > 将配置文件添加到“启用的配置文件列表”)

在此处输入图像描述

于 2021-01-14T16:00:47.227 回答