2 回答

TA貢獻1827條經驗 獲得超9個贊
Salesforce 提供的 PHP 工具包已經過時,不應使用。有更多最近的分叉/社區項目(一、二)試圖實現一個現代 PHP 客戶端,也許其中一個對你有用。
一個簡單的(r) 解決方案是通過對元數據 API 的普通 SOAP 調用來檢索 SecuritySettings。API 版本設置為的請求負載46.0應該是
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Security</members>
<name>Settings</name>
</types>
<version>46.0</version>
</Package>
并且響應看起來像這樣(僅顯示相關部分,實際響應要大得多)
<?xml version="1.0" encoding="UTF-8"?>
<SecuritySettings xmlns="http://soap.sforce.com/2006/04/metadata">
<networkAccess>
<ipRanges>
<description>...</description>
<end>1.255.255.255</end>
<start>0.0.0.0</start>
</ipRanges>
</networkAccess>
</SecuritySettings>
翻譯成PHP:
$wsdl = PUBLIC_PATH . '/wsdl-metadata.xml';
$apiVersion = 46.0;
$singlePackage = true;
$members = 'Security';
$name = 'Settings';
$params = new StdClass();
$params->retrieveRequest = new StdClass();
$params->retrieveRequest->apiVersion = $apiVersion;
$params->retrieveRequest->singlePackage = $singlePackage;
$params->retrieveRequest->unpackaged = new StdClass();
$params->retrieveRequest->unpackaged->version = $apiVersion;
$params->retrieveRequest->unpackaged->type = new stdClass();
$params->retrieveRequest->unpackaged->type->members = $members;
$params->retrieveRequest->unpackaged->type->name = $name;
$option = [
'trace' => TRUE,
];
// Namespaces
$namespace = 'http://soap.sforce.com/2006/04/metadata';
$client = new SoapClient($wsdl, $option);
$header = new SoapHeader($namespace, "SessionHeader", array ('sessionId' => $token)); // NEED: access token
$client->__setSoapHeaders($header);
$client->__setLocation($serverUrl); // NEED: service endpoint URL
$serviceResult = $client->retrieve($params);
您需要提供訪問令牌 ( $token) 和服務端點 ( $serverUrl)。

TA貢獻1725條經驗 獲得超8個贊
對于任何試圖讓它工作的人,identigral 的例子對我不起作用,必須執行以下操作:
更改$client->setEndpoint($serverUrl);
為$client->__setLocation($serverUrl);
我使用 Oauth 登錄,因此您需要從響應中構造 $serverUrl: <instance_url> + '/services/Soap/m/46.0/' + <org id (from id)>
示例:'https://your-production-or-sandbox-name.my.salesforce.com/services/Soap/m/46.0/your-org-id'
- 2 回答
- 0 關注
- 207 瀏覽
添加回答
舉報