Suite

Obtenir une réponse JSON avec des requêtes et l'API REST ArcGIS

Obtenir une réponse JSON avec des requêtes et l'API REST ArcGIS


J'effectue un téléchargement par lots depuis mon compte AGOL et j'utilise la documentation ESRIarticle d'exportationJe peux exporter du contenu vers des fichiers de formes. Je voudrais ensuite télécharger les fichiers de formes nouvellement créés. Pour ce faire, je dois être en mesure d'avoir le numéro d'identification du fichier de formes nouvellement créé. Selon la documentation, il se trouve dans la réponse JSON.

code sudo :

demandes d'importation import arcrest import json exporturl = self.root_url +'/users/' + self.username + '/export' export = request.post(exporturl, params=FsParams) export_response = export.json()

Ce que j'ai essayé :

réponse = export_response['exportItemId'] ​​imprimer la réponse

Erreur:KeyError : 'exportItemId'

impressionréponse = export_responserenvoie leparamètresduPublier

En utilisant ledemandesbibliothèque puis-je accéder à la réponse JSON ? Si cela n'est pas possible avecdemandesquelle méthode fonctionnera ?


Le code, tel qu'il a été publié, est correct lorsque vous travaillez avecdemandesetjson. Comme indiqué dans les commentaires, lorsque vous effectuez une demande sur plusieurs éléments, vous pouvez obtenir une réponse différente en fonction de la raison pour laquelle l'élément d'origine a été demandé.

L'erreur en question,KeyError : 'exportItemId'vient du fait que la réponse a renvoyé un dictionnaire sans leexportItemIdclé et vous avez essayé d'y accéder. Il existe plusieurs façons de gérer cela. Un simpleessayer/saufcomme vous l'indiquez, vous permettra de passer outre les instances lorsque vous ne récupérez pas une clé que vous attendiez. Vous pouvez également vérifier explicitement que la clé existe dans le dictionnaire avant de tenter d'y accéder.