PHP and Salesforce API not returning results

General Tech Bugs & Fixes 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

If I use Force.com explorer or workbench.developerforce.com this query works in those tools:

SELECT Id, ContentDocumentId, Title, VersionNumber, PathOnClient 
FROM ContentVersion 
WHERE ContentDocumentId = '069500000015PP5AAM' 
AND IsLatest = True 
ORDER BY VersionNumber DESC 
LIMIT 1

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();

    }

}
profilepic.png
manpreet 2 years ago

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.


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.