【问题标题】:Detect type of Sandbox (Salesforce)检测沙盒类型 (Salesforce)
【发布时间】:2021-05-17 09:22:22
【问题描述】:

Salesforce 支持不同的沙盒。

例如“部分”或“开发”沙盒。

有没有办法检测我的脚本连接到哪种沙箱?

我使用 Python 和 simple_salesforce。

【问题讨论】:

  • 嘿,你为什么要提出这个问题,我以为一切都很好?无论如何,它最终还是我,而不是吸引更好的答案。谢谢,我猜;)这里还需要什么吗?
  • @eyescream 赏金是为了“奖励现有答案”。是的,一切都很好。

标签: salesforce simple-salesforce


【解决方案1】:

我的 Python 不够好。我可以给出提示,但你必须自己尝试一下。

https://github.com/simple-salesforce/simple-salesforce“附加功能”表示有内部类可以向您公开 session_id 和实例。

您可以使用这些来制作 HTTP GET 调用

Authorization: Bearer {session_id}
{instance}/services/data/v51.0/limits

"limits" 资源将告诉您(以及其他)该组织中可用的数据和文件存储。它会返回一个类似于

的 JSON
{
    ...
    "DataStorageMB" : {
        "Max" : 200,
        "Remaining" : 196
    },
    ...
}

使用DataStorageMB.Maxhttps://help.salesforce.com/articleView?id=sf.data_sandbox_environments.htm&type=5 底部的表格来确定您的位置。 200 => 开发人员,1024 => 专业开发人员...


编辑 - 如果您使用 Apex(可能作为 REST 服务公开,“简单的销售人员”具有很好的内置访问权限)

Integer storageLimit = OrgLimits.getMap().get('DataStorageMB').getLimit();
System.debug(storageLimit);
String sandboxType;
switch on storageLimit{
    when 200 {
        sandboxType = 'Developer';
    }
    when 1024 {
        sandboxType = 'Developer Pro';
    }
    when 5120 {
        sandboxType = 'Partial Copy';
    }
    when else {
        sandboxType = 'Full Copy';
    }
}
System.debug(sandboxType);

【讨论】:

  • 我得到:SalesforceRefusedRequest: Request refused for https://foo.my.salesforce.com/services/data/v42.0/limits/. Response content: [{'message': 'limits resource is not enabled', 'errorCode': 'API_DISABLED_FOR_ORG'}]
  • 连接用户的个人资料是否勾选了复选框:“API 已启用”、“查看设置和配置”、“管理用户”?
  • 我现在使用不同的帐户,它有更多的权限。现在它起作用了。非常感谢你。虽然以这种方式检测沙盒类型很脏。 Salesforce 是否有可以创建功能请求的反馈渠道?
  • 发布一个想法或支持现有的想法,例如trailblazer.salesforce.com/ideaView?id=0873A000000TtbOQAS - 任何人都可以发布。您需要有效的 SF“类生产”登录(免费开发者版或开拓者帐户也可以,您不需要付费客户/注册合作伙伴)。如果您有生产访问权限 - 应该有帮助和培训链接,根据支持级别 ($),您应该能够向他们提出案例或“只是”在 SF 社区发帖,挑选其他客户的大脑。
  • 在 Apex(服务器端语言)中,您可以将这个“200”作为 1-liner System.debug(OrgLimits.getMap().get('DataStorageMB').getLimit());。您可以创建一个返回沙盒类型的 REST 服务,但它仍然有点愚蠢,另一个 API 调用。您可以与您的管理员讨论进行“自定义设置”以保存信息并在创建沙箱时将值写入其中 (developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/…)
猜你喜欢
  • 1970-01-01
  • 2019-07-08
  • 2015-10-27
  • 2021-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-30
  • 1970-01-01
相关资源
最近更新 更多