This will be a user issue.
There is no difference between explorer/workbench and your integration, they are all using the api (soap or rest).
You have likely created a specific integration user for the integration you are building, but a general user for the explorer/workbench access.
On the user record within salesforce ensure that "Salesforce CRM Content User" option is Checked.
Additionally, if the content is within workspaces/Libraries you should ensure that the integration user is listed as a Member within the Libraries section of Salesforce Content.
manpreet
Best Answer
3 years ago
If I use Force.com explorer or workbench.developerforce.com this query works in those tools:
But when I use PHP it is not returning b.com/tag/results">results:
function GetFileLink($fileID){ try { $mySforceConnection = new SforcePartnerClient(); $mySoapClient = $mySforceConnection->createConnection(SALESFORCE_WSDL); $mylogin = $mySforceConnection->login(SALESFORCE_USER, SALESFORCE_PASS . SALESFORCE_TOKEN); $query = "SELECT Id, ContentDocumentId, Title, VersionNumber, PathOnClient FROM ContentVersion where ContentDocumentId = '" . $fileID . "' AND IsLatest = True ORDER BY VersionNumber DESC LIMIT 1"; // $query = "SELECT Id, ContentDocumentId, Title, PathOnClient, IsLatest FROM ContentVersion where ContentDocumentId = '069500000015PP5AAM' AND IsLatest = 'True' ORDER BY VersionNumber DESC LIMIT 1"; echo "<br /><b>====File Name Query===<br />" . $query . "<br />========================b><br />"; $result = $mySforceConnection->query($query); echo "<br /><b>Size of GetFileLink records: " . $result->size . "b><br />"; if(isset($result->records[0])){ // $sObject = new SObject($result->records[0]); foreach ($result->records as $record) { $sObject = new SObject($record); $FileName = $sObject->fields->PathOnClient; echo "FileName: " . $FileName . "<br />"; } return $FileName; } } catch (Exception $e) { echo $mySforceConnection->getLastRequest(); } }