J'ai un appel de l'API reposant note em>: cwobj.get_opportunities () code> pour renvoyer un ensemble d'enregistrements sous la forme d'une réponse JSON. À partir de la réponse, je réfère le ID code> dans chaque enregistrement par rapport à un deuxième appel d'API cwobj.get_tickets_by_opportunity () code>. Cet appel rendra un deuxième ensemble d'enregistrements. Cependant, souvent il n'y a pas d'enregistrement pour un identifiant code> particulier code> dans la réponse JSON renvoyé par le deuxième appel d'API. L'API attend un enregistrement pour chaque appel individuel, alors quand il n'y en a pas, je suis projeté un indexError: index de liste hors de portée code>. De plus, lorsque j'accorderai le code ID référencé dans la deuxième appel d'API, je suis capable de récupérer les données que je veux sans erreurs. CWOBJ code> est la base de mes appels d'API ... p>
3 Réponses :
Je ne sais pas si j'ai bien compris le problème. Vous voulez essentiellement vérifier s'il existe une clé particulière code> dans les résultats que vous avez reçus. Si tel est le cas, vous pouvez essayer avec cela: opportunities = cwObj.get_opportunities()
for opportunity in opportunities:
if 'id' in opportunity:
temp = opportunity['id']
opportunity_id = str(temp)
presales_ticket = cwObj.get_tickets_by_opportunity(opportunity_id)
presales_engineer = presales_ticket[0]['owner']['name']
else:
# What to do if there is no 'id' as key of opportunity
S'il vous plaît voir mon édition au problème d'origine ... Je reçois un indexerror code> maintenant
Je ne suis pas sûr de ce que vous recherchez exactement. Mais si vous avez besoin de vérifier le type de personne Utilisez simplement
if opportunity['id'] is not None: temp = opportunity['id']
Il y a une erreur de syntaxe. Veuillez supprimer le double est code>. Au lieu de si une opportunité ['ID'] n'est pas Aucun: code> Ce sera si une opportunité ['ID'] n'est pas Aucun: code>
En fait, en Python, il suffit de dire si une opportunité ["ID ']: code> (la pièce n'est pas non Aucun ne sera automatiquement évaluée)
Êtes-vous sûr que cwobj.get_tickets_by_opportunity () ne renvoie pas une liste vide?
C'est mon problème, souvent le temps, il renvoie une liste vide. Je veux savoir comment gérer quand il retourne vide alors que je ne reçois pas de KeyError
Si Presale_ticket n'est pas Aucun: ... code>?Si PRESALALE_TICKET I> est un JSON, alors simplement vérifier - si Presale_ticket: i>
@MarkMeyer Je pense que je dois utiliser un
essayer code> car lorsque mon appel d'API atteint un enregistrement qui n'en est pas, s'arrête itération via les différents identifiants ... Quelle exception puis-je utiliser pour gérer aucune?@Anupambera Cochez mon édition sur le code d'origine, je reçois un
indexerror: index de liste hors de portée code>. Cependant, lorsque l'identifiant est codé dur et non itéré, je ne reçois aucune erreur.