2015-10-19 1 views
1

Heres ce que je suis en train de faire: Tout d'abord, je veux chaque entrée dans le compte. Après cela, je veux utiliser pour obtenir le tout. Cependant, je reçois un message d'erreur. Je fais ce qui suit:SalesforceObject.search/que vous ne travaillez pas ensemble? Python/Simple-salesforce

accIdArr = sf.search("FIND {Account}") 
    print accIdArr 
    for i in accIdArr: 
     print i["Id"] 
     accDataArr = sf.Account.get(i["Id"]) 
    print accDataArr 

Cependant, je reçois ce message d'erreur:

simple_salesforce.api.SalesforceResourceNotFound: ressource compte non trouvé. Contenu de la réponse: [{u'errorCode ': u'NOT_FOUND', u'message ': u'La ressource demandée n'existe pas'}]

J'ai ensuite essayé d'utiliser sf.Account.get ('CopyAndPastedId') avec l'identifiant qui a été imprimé avant que j'obtienne l'erreur, par exemple je ["Id"]. Eh bien, cela ne fonctionne pas non plus et donne la même erreur. J'ai donc pensé au compte non existant, cependant sf.Account.metadata() fonctionne bien et donne les données attendues. Qu'est-ce que je fais de mal?

Répondre

1

Existe-t-il une raison d'utiliser SOSL plutôt que SOQL?

Puisque vous ne demandez que les objets de compte, une simple recherche SOQL vous donnera ce que vous voulez. Effectuez les opérations suivantes:

accDataDict = sf.query('SELECT ID, Name, <all other fields you want> FROM Account') 

Le retour sera un dictionnaire ordonné de tous les objets de compte avec le champ/valeurs que vous avez demandé dans votre requête.