diff --git a/api/core/external_data_tool/api/api.py b/api/core/external_data_tool/api/api.py index 8896a00699..58c82502ea 100644 --- a/api/core/external_data_tool/api/api.py +++ b/api/core/external_data_tool/api/api.py @@ -58,7 +58,7 @@ class ApiExternalDataTool(ExternalDataTool): if not api_based_extension: raise ValueError("[External data tool] API query failed, variable: {}, " "error: api_based_extension_id is invalid" - .format(self.config.get('variable'))) + .format(self.variable)) # decrypt api_key api_key = encrypter.decrypt_token( @@ -74,7 +74,7 @@ class ApiExternalDataTool(ExternalDataTool): ) except Exception as e: raise ValueError("[External data tool] API query failed, variable: {}, error: {}".format( - self.config.get('variable'), + self.variable, e )) @@ -87,6 +87,10 @@ class ApiExternalDataTool(ExternalDataTool): if 'result' not in response_json: raise ValueError("[External data tool] API query failed, variable: {}, error: result not found in response" - .format(self.config.get('variable'))) + .format(self.variable)) + + if not isinstance(response_json['result'], str): + raise ValueError("[External data tool] API query failed, variable: {}, error: result is not string" + .format(self.variable)) return response_json['result']