【问题标题】:PHP calling Salesforce SOAP API returns Id values that are all the samePHP 调用 Salesforce SOAP API 返回完全相同的 Id 值
【发布时间】:2021-05-17 05:12:54
【问题描述】:

我可以通过 php 中的 API 登录到 Salesforce。简要代码:

define('USERNAME', getenv(<myuserkey>));
define('PASSWORD', getenv(<mypwkey));
define('SECURITY_TOKEN', getenv(mytokenkey));

$sfconn = new SforceEnterpriseClient();
$sfconn->createConnection('soap/sfwsdl.xml');
$sfconn->login(USERNAME,PASSWORD . SECURITY_TOKEN);

后来,我这样调用查询:

$sfqry = "SELECT Id, QualifiedApiName, NamespacePrefix, DeveloperName, MasterLabel, Label, PluralLabel, DefaultCompactLayoutId, IsCustomizable, IsApexTriggerable, IsWorkflowEnabled, IsCompactLayoutable, KeyPrefix, IsQueryable from entitydefinition";
$response = $sfconn->query($sfqry);

我得到了数据结果,通常是具有“记录”属性的“对象”。但是在查看记录中的列表时,每个“Id”值都是相同的——例如000000000AAA(15 个零,3 个 A)。其他数据看起来很好(例如,QualifiedApiName 和其他字段对于每条记录都是不同的)。我在 Salesforce SOQL 页面中使用了相同的查询,并且 Id 肯定不同 - 其他字段与我通过 PHP 查询返回的内容相匹配。

我也查询了其他对象,它们似乎也为 Id 返回 00000000000AAA。

在我设置的 XML 文件中,我看到 SObject 的基本定义如下:

    <!-- Base sObject (abstract) -->
    <complexType name="sObject">
        <sequence>
            <element name="fieldsToNull" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
            <element name="Id" type="tns:ID" nillable="true" />
        </sequence>
    </complexType>

当然,我看到其他对象是基于那个对象的。

我已经研究了超过 2 天。恐怕我错过了一些非常基本的东西,因为我找不到其他人报告这个问题。

【问题讨论】:

  • 我不是 100% 确定,但我相信如果您要查找元数据的 id 值,则需要使用“durableId”。

标签: php api soap salesforce


【解决方案1】:

EntityDefinitionFieldDefinition 中的 ID 很一般,他们经常返回一个假 ID。这是一个非常有趣的话题,如果您想了解更多信息,请阅读The requested resource does not exist [error] in Salesforce. What is wrong with Salesforce?

使用DurableIdQualifiedApiName 等以获得唯一性。你还需要身份证做什么?一些 url 黑客尝试?这不是官方 API...

【讨论】:

  • 我对 id 值的主要用途是用于同步(外部数据库)。我正在使用企业范围的自动化数据字典(旁注:远远超出表/字段名称/数据类型,但这是一个不同的主题)。正如您指出的那样,在这种情况下,对 EntityDefintion/FieldDefinition 使用 QualifiedApiName 就足够了。我想确保我没有遗漏一些基本的东西。其他数据查询似乎给了我对 ID 的希望。感谢您的回复。至少我知道我没有疯(至少关于这些观察)。
猜你喜欢
  • 1970-01-01
  • 2011-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-18
相关资源
最近更新 更多